16-Hadoop MapReduce 原理 Shuffle机制图解
每个MapTask都有两次排序
第一次发生在溢写的时候,使用快排,不修改内存中每个位置的值采用索引排序。
第二次排序发生在:因为环形缓冲区大小的限制,每个MapTask都会溢写出数据,需要把多个溢写的数据进行整合,采用归并排序,每个MapTask最终生成一个文件(多个分区)
每个ReduceTask只有排序:
接收所有MapTask产生的数据,写到内存,内存不够,写到磁盘上去,等所有数据都写完之后,采用归并排序