Spark DataFrame类中的union()方法在哪里?

7

我正在使用Spark的Java连接器,并希望将两个DataFrame进行合并,但是DataFrame类只有unionAll方法,这是有意为之吗?是否有一种方法可以在不重复的情况下合并两个DataFrame?

1个回答

19

这是故意的吗?

我认为可以安全地假设这是有意为之的。其他类似于 RDD.unionDataSet.union 的联合运算符也会保留重复项。

如果你仔细想一下,这是有道理的。虽然等同于 UNION ALL 的操作只是一个逻辑操作,不需要访问数据或网络流量,但查找不同的元素需要洗牌,因此可能非常昂贵。

有没有办法将两个DataFrames联合在一起而不产生重复项?

df1.unionAll(df2).distinct()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接