在Spark

时间:2018-06-12 16:50:34

标签: apache-spark

在Spark中,有没有办法通过连接向DataFrame添加列,但是这样可以保证左侧保持完全不变?

这是我到目前为止所看到的:

leftOuterJoin ...但是冒着重复行的风险,因此必须非常小心以确保右侧没有重复的密钥。如果保证安全的唯一方法是在加入之前进行重复数据删除,则不是完全稳健或高效。

有一种数据结构似乎保证没有重复的密钥:PairRDD。这有一个很好的方法来查找键值表中的键:YYY.lookup("key")。因此,人们可能希望能够.withColumn("newcolumn", udf((key:String) => YYY.lookup(key)).apply(keyColumn)),但似乎udfs不能这样做,因为他们显然无法访问显然需要查找的sqlContext。如果有一种使用withColumn的方法,我会非常高兴,因为它具有正确的语义。

非常感谢提前!

0 个答案:

没有答案