Spark UDF是否有可能返回多个值?如果是这样,则如何在数据范围API中访问单个项目。
您有三个选项:
-
返回相同类型项目的
Seq
创建array
列。udf(() => Seq(1.0, 2.0, 3.0))
-
返回
Map
:udf(() => Map("x" -> 1.0, "y" -> -1.0))
-
返回产品(元组或案例类的实例)以创建
struct
列。udf(() => (1.0, "foo", 5))
您可以使用 struct 和 array 方法来实现这一目标。
请检查此处,以获取@ramesh的非常简单简便的答案