shuffle
MR确保每个reducer的输入都是按key排序的,系统执行排序,将map输入传给reduce的过程叫shuffle
map端
1) map输出:不是直接写到磁盘,而是利用缓冲写到内存并进行预排序
2) shuffle
> 每个map任务有环形内存缓冲区用于存储任务输出,到达80%时,后台线程开始将缓冲区内容溢出到磁盘,边溢出边写入,如果缓冲区写满,map会阻塞直到spill过程完成。溢出按照轮询方式写入
mapreduce.task.io.sort.mb缓冲区大小,默认