【发布时间】:2018-12-24 07:16:07
【问题描述】:
使用 Spark 数据框,我想根据具有相同 id 的其他行更新行值。
例如, 我有以下记录,
id,value
1,10
1,null
1,null
2,20
2,null
2,null
我想得到如下结果
id,value
1,10
1,10
1,10
2,20
2,20
2,20
总而言之,某些行中的 value 列为 null,如果有另一行具有相同 id 且具有有效值的行,我想更新它们。
在sql中,我可以简单地用inner-join写一个更新语句,但是我在Spark-sql中没有找到同样的方法。
更新 combineCols a 内连接 combineCols b 在 a.id = b.id 设置 a.value = b.value (这就是我在sql中的做法)
【问题讨论】:
-
如果一个ID有多个值怎么办?例如,如果 id 1 的值不是 (10, null, null),而是 (10,30, null),那么应该发生什么?
-
只能为一个值或为空
标签: apache-spark-sql