Spark中的Dataframe连接是否保持顺序?



我目前正在尝试将两个dataframe连接在一起,但在其中一个dataframe中保留相同的顺序。

哪些操作保持RDD顺序?,似乎(纠正我,如果这是不准确的,因为我是Spark的新手)连接不保持顺序,因为行被连接/"到达"最终数据帧,而不是按照指定的顺序,由于数据在不同的分区。

如何在保持一个表的顺序的同时执行两个dataframe的连接?

+------------+---------+ | col1 | col2 | +------------+---------+ | 0 | a | | 1 | b | +------------+---------+

连接

+------------+---------+ | col2 | col3 | +------------+---------+ | b | x | | a | y | +------------+---------+

on col2应该给

+------------+--------------------+ | col1 | col2 | col 3 | +------------+---------+----------+ | 0 | a | y | | 1 | b | x | +------------+---------+----------+

我听说过一些关于使用coalescerepartition的事情,但我不确定。如有任何建议/方法/见解,欢迎提出。

Edit:这是否类似于在MapReduce中有一个reducer ?如果是这样,在Spark中会是什么样子?

不能。您可以添加monotonically_increasing_id,并在连接后重新排序数据

相关内容

  • 没有找到相关文章

最新更新