spark中哪些算⼦会导致shuffle
spark中会导致shuffle操作的有以下⼏种算⼦、 1、repartition类的操作:⽐如repartition、repartitionAndSortWithinPartitions、coalesce等
2、byKey类的操作:⽐如reduceByKey、groupByKey、sortByKey等
3、join类的操作:⽐如join、cogroup等
重分区: ⼀般会shuffle,因为需要在整个集中,对之前所有的分区的数据进⾏随机,均匀的打乱,然后把数据放⼊下游新的指定数量的分区内 byKey类的操作:因为你要对⼀个key,进⾏聚合操作,那么肯定要保证集中,所有节点上的,相同的key,⼀定是到同⼀个节点上进⾏处理 join类的操作:两个rdd进⾏join,就必须将相同join
key的数据,shuffle到同⼀个节点上,然后进⾏相同key的两个rdd数据的笛卡尔乘积