RDD如何合并工作

时间:2018-04-02 04:00:35

标签: apache-spark sp

我知道RDD coalesce可用于将RDD分区without shuffle从较大的大小缩小到较小的大小,例如,从100个分区缩小到10个分区。

但我不明白without shuffle是如何工作的,例如,我有10个执行器,RDD有10个分区,每个执行器有1个分区,如果我将这个RDD缩小到5个分区,必须洗牌吗?

1 个答案:

答案 0 :(得分:1)

RDD coalesce doesn't do any shuffle不正确它不会完全洗牌,而是最小化跨节点的数据移动。

所以它会做一些洗牌,但不会重新分配将完成的洗牌。使用coalesce,您只能减少分区数量。如果你想增加它,那就进行重新分配。

有一个很好的blog解释了这个问题