Spark Dataframe-列之间的对计算(标量)

时间:2018-11-06 15:36:54

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

我有以下情况:我有一个带有'id'和'array'作为架构的数据框。现在,我想为每个数组获取所有具有相应ID的对列表,并将其再次保存在数据框中。例如:

这是原始数据框:

+---+----------+
| id|candidates|
+---+----------+
|  1|    [2, 3]|
|  2|       [3]|
+---+----------+

这就是计算后的样子:

+---+---+
|id1|id2|
+---+---+
|  1|  2|
|  1|  3|
|  2|  3|
+---+---+

也许有人对这个问题有想法?

亲切的问候

Sedir Mohammed

2 个答案:

答案 0 :(得分:1)

好,谢谢@cheseaux我找到了答案!有一个简单的explode_outer函数:

    candidatesDF.withColumn("candidates", explode_outer($"candidates")).show

答案 1 :(得分:0)

explode个数组列。

candidatesDF.withColumn("id2", explode('candidates))