一.what is a shuffle? 1.1 shuffle简介 一个stage执行完后,下一个stage开始执行的每个task会从上一个stage执行的task所在的节点,通过网络传输获取task需要处理的所有key,然后每个task对相同的key进行算子操作,这个过程就是shuffle过程. 我们常说的shuffle过程之所以慢是因为有大量的磁盘IO以及网络传输操作.spark中负责shuffle的组件主要是ShuffleManager,在spark1.1之前采用的都是HashShuff