spark shuffle 中 map 和 reduce 是一个相对的概念,map是产生一批数据,reduce是接收一批数据,前一个任务是map,后一个任务是reduce。
hashShuffle:hash分组,一个task里面按hash值的不同,分到不同的组里,在内存中也是独立的
sortShuffle比hashShuffle好的地方在于,sortShuffle是每个task(并行度)产生一个文件,而hashShffle是按hash分区来的,一个task会产生多个文件,增加了网络IO。
sort是聚合操作时需要做的排序操作,如果不用聚合,bypass会跳过排序操作,节约了性能。