repartition和coalesce的区别
两个都能调整分区数,但repartition的底层依然是调用了coalesce
coalesce的语法: coalesce(num,shuffle=False) 默认不启动shuffle
repartition的语法: repartition(num) 默认启动shuffle
repartition中将shuffle改成了ture,且参数不可修改
因此,repartition常用于增加分区,coalesce常用于减小分区
关键就在于shuffle是否启动
重新分区的根本是通过hash取模后再分区,因此必须通过shuffle
分区数据重新分区时会出现1个分区数据分配到其他多个分区的情况,也就形成了「宽依赖」
减小分区的根本是将1个分区完整归类到另一个分区中,属于1对1的情况,也就形成「窄依赖」
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)