本文目录:
Shuffle 机制
Map 方法之后,Reduce 方法之前的数据处理过程称之为 Shuffle。
上图说明:
Map方法出来之后,首先会进入到 getPartition( )方法,获取1.分区信息。默认分区是根据key的hashCode对ReduceTasks个数取模得到的。用户没法控制哪个
,标记数据分区后,进入到环形缓冲区(默认:100M)
当环形缓冲区使用达到 80%,开始溢写输出。溢写前会对数据进行2.排序(使用快排,对key的索引
根据字段顺序排序),排序之后,第一次溢写,产生 index索引文件 和 真正的数据文件。
3.Combiner合并为可选流程(聚合操作环境下&#x