coalesce
repartition(numPartitions:Int):RDD[T]
coalesce(numPartitions:Int,shuffle:Boolean=false):RDD[T]
同:RDD的分区进行重新划分
异:repatition是coalesce一种情况,即分区增加,shuffle默认为true。
如果N>M并且两者相差悬殊,可能造成spark程序的并行度不够,从而影响性能,如果在M为1的时候,为了使coalesce之前的操作有更好的并行度,可以将shuffle设置为true。
因为:只有shuffle才能增加partitions。
!!:这个和sql server的api不一样。
使用场景:
通过多步骤的RDD操作后有很多空任务或者小任务产生,通过此减少partition数。
From satrys,
Kristen wang