接受类型为“数组-StructType或“ null”的列的UDF的输入类型应该是什么?

我的DataFrame的架构如下:

root
 |-- col1: string (nullable = true)
 |-- col2: array (nullable = true)
 |    |-- element: struct (containsnull = true)
 |    |    |-- unit1: string (nullable = true)
 |    |    |-- sum(unit2): string (nullable = true)
 |    |    |-- max(unit3): string (nullable = true)
 |-- col3: array (nullable = true)
 |    |-- element: struct (containsnull = true)
 |    |    |-- unit1: string (nullable = true)
 |    |    |-- sum(unit2): string (nullable = true)
 |    |    |-- max(unit3): string (nullable = true)

我正在用Scala编写一个带cols-col2和col3的UDF。
考虑到col2的值可以为“ null”

,我传递给UDF的每一列的输入类型应该是什么?
val process_stuff = udf((col2: ???,col3: ??? ) => {

到目前为止,我已经尝试过此方法和其他方法

val process_stuff = udf((col2:ArrayType[StructType[StructField]],col3:ArrayType[StructType[StructField]]) => {

但是它在各处警告我 请帮忙!

tftp156656 回答:接受类型为“数组-StructType或“ null”的列的UDF的输入类型应该是什么?

您的UDF应该具有以下签名:

val process_stuff = udf((col2: Seq[Row],col3: Seq[Row]) => {...})
本文链接:https://www.f2er.com/3128022.html

大家都在问