repartiton算子(重分区算子),coalesce算子

repartiton算子,重分区算子,比如上游的分区数太多,下游想要减少就可以使用,是一种物理改变分区的算子,涉及到shuffle操作。它底层调用的coalesce算子,repartiton在这里传进去了shuffle是true

 

coalesce算子可以指定是否shuffle,coalesce函数总共三个参数:分区数,是否进行shuffle(默认不shuffle),Coalesce分区器(用来决定哪些父rdd的分区组成一组,作为一个partitiongroup,也即是决定了coalescedrdd的分区情况)。

这里的partitiongroup举个例子来解释一下

假设父rdd 1000分区,然后调用coalesce(100),实际上就是将父rdd的1000分区分成100组,每组10个,叫做partitionGroup,每个partitionGroup作为coalescedrdd的一个分区,在compute方法中迭代处理,以此来避免shuffle。这个算子主要就是拿来缩减父类RDD的分区数量的,避免shuffle

 

 

posted @ 2022-03-27 17:43  习惯了蓝  阅读(101)  评论(0)    收藏  举报