最佳答案
根据Learning Spark
请记住,重新划分你的数据是一个相当昂贵的操作。
Spark还有一个名为repartition()
的优化版本,它允许避免数据移动,但前提是你要减少RDD分区的数量
我得到的一个区别是,使用repartition()
可以增加/减少分区的数量,但使用coalesce()
只能减少分区的数量。
如果分区分布在多台机器上,并且运行coalesce()
,它如何避免数据移动?