详细文档:Spark中的Spark Shuffle详解 - 大葱拌豆腐 - 博客园
(1) HashShuffle(1.2版本之前默认使用)
普通机制:产生的文件数量是 M*R,小文件太多
合并机制:产生的文件数量是 Core*R,比普通机制少,但是也是很多
(2) SortShuffle(1.2版本之后默认使用)
普通机制:每个task产生一个磁盘文件
由于数据都在里面,另有一个索引文件。
需要排序
byPass机制:如果task数量小于等于阈值(默认200),使用此机制
不需排序,节省了性能
大佬总结: