MapReduce 工作原理如下图:
说明:
1、split 为逻辑分片、block 为物理块
2、每条数据写入缓冲区时附带分区属性
3、reduce 端通过 partition 识别 copy map端对应的分区数据,一个partition 对应一个reduce
4、reduce 端 copy 线程 copy 数据到缓存,缓存存储不了数据时写到内存,内存到内存有merge,当内存存储的map数据达到一定程度时,启动merge ,写数据到磁盘,即内存到磁盘merge,当属于该reduce 的map数据全部拷完时,在磁盘生成多个文件,会开始 merge磁盘的文件,即磁盘到磁盘的merge