我有两个数据框:bigDF
和smallDF
。
来自bigDF
我只希望列不在smallDF
。
smallDF
仅包含bigDF
我现在要做的是:
bigDF.join(broadcast(smallDF), Seq("id"), "left_anti")
问题是,spark 1.6.0不支持left_anti连接。
还有其他方法可以实现吗?
P.S。 bigDF不应该被洗牌(这就是我使用broadcast()
)
答案 0 :(得分:0)
由于smallDF
很小,您可以收集ID并使用isin
的否定作为:
bigDF
.where(!$"id".isin(smallDF.select($"id").distinct.map(_.getInt(0)).collect():_*))