repartition类的操作
一般会shuffle,因为需要在整个集群中,对之前所有的分区的数据进行随机,均匀的打乱,然后把数据放入下游新的指定数量的分区内。如:repartition、repartitionAndSortWithinPartitions、coalesce 等
byKey类的操作
要对一个key,进行聚合操作,那么肯定要保证集群中,所有节点上的,相同的key,一定是到同一个节点上进行处理。如 reduceByKey、groupByKey、sortByKey
join类的操作
两个rdd进行join,就必须将相同join key的数据,shuffle到同一个节点上,然后进行相同key的两个rdd数据的笛卡尔乘积。如 join、cogroup 等