shuffle(洗牌)把mapper阶段的结果拷贝到reducer阶段
分为两部分,mapshuffle,reduceshuffle
- mapshuffle:map的输出结果输出到内存的缓冲区,缓冲区数量和map数量对应,缓冲区有百分比,map写入缓冲区超过了这个百分比,就会自动刷入map的机器本地磁盘
内存在这里做了一些操作:分区(和reduce数量一致),排序,map的输出结果不断地从缓冲区中刷出,刷出多个文件,后台会有一个线程按照分区合并这些文件 - reduceshuffle:会拷贝map的结果,把文件先做一个排序,再做合并,这些数据作为reduce的输入
网友评论