Spark UDF返回多个项目

时间:2016-12-27 00:32:24

标签: scala apache-spark apache-spark-sql

火花UDF是否可以返回多个值?如果是这样,如何在数据框API中访问各个项目。

2 个答案:

答案 0 :(得分:3)

您有三种选择:

  • 返回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))
    

答案 1 :(得分:-1)

您可以使用 struct array 方法来实现此目的。

请检查here,以得到@ramesh的非常干净和简单的答案