MapReduce详细工作流程:
1.准备好待处理的输入文件
2.对文件进行切片分析
3.客户端将三样东西(Job.split wc.jar Job.xml)提交至 Yarn
4.Yarn 开启 Mrappmaster 根据提供的切片个数开启对应的MapTask个数
5.默认的 TextInputFormat 读取 K,v 传递给 Mapper
6.进行逻辑运算后数据输出至环形缓冲区
7.向环形缓冲区写入
8.分区,排序(溢写前对数据再次进行快排,对索引排)
9.溢写到文件(分区且区內有序,上一步的分区仍在同一文件)
10.Merge 归并排序(对已经有序的内容进行排序,保证分区内部有序)
11.合并(Combiner)
12.MrappMaster 观察所有 MapTask任务完成后,启动相应数量的ReduceTask,并告知 ReduceTask 处理数据范围
13.ReduceTask 主动从 MapTask 对应的分区拉取数据 下载到本地磁盘并且合并文件 归并排序
14.Reducer一次读取一次进行处理
15.默认 TextOutputFormat 往出写数据,形成对应的文件



