父RDD的每一个分区最多被一个子RDD的分区所用,即同分区的所有key可以被映射到同一分区,这就是窄依赖,没必要进行shuffle。
宽依赖,key被映射到不同分区,需要shuffle。
spark中有两类stage,也称为task,一类是shuffleMapTask(用于shuffle),另一类是resultTask(用于产生结果)。