如何在Spark DataFrame列中容纳Scala数组?

时间:2018-09-21 15:43:35

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

我的问题是我正在使用DataFrame,并且想要:

1)用val column = dataframe.select("columnName").collect()或类似的内容获得一列

2)在此阵列上执行一些操作。这部分尚不清楚,但是会导致数组中某些元素的变化

3)用2)的结果覆盖DataFrame的列

哪种方法是最好的方法?

1 个答案:

答案 0 :(得分:0)

您应该

  • 将列与唯一的ID一起收集,以便可以将其重新连接到数据框(可以使用array.toDF将转换后的数组转换回数据框)。但是,此选项无法缩放,因为您需要收集到驱动程序进程中

  • 如果您的逻辑适用于每行,则应用UDF