Hadoop学习之MapReduce(MapReduce详细工作流程)心得

MapReduce详细工作流程:

1.准备好待处理的输入文件

2.对文件进行切片分析

3.客户端将三样东西(Job.split wc.jar Job.xml)提交至 Yarn

4.Yarn 开启 Mrappmaster 根据提供的切片个数开启对应的MapTask个数

5.默认的 TextInputFormat 读取 K,v 传递给 Mapper

6.进行逻辑运算后数据输出至环形缓冲区

7.向环形缓冲区写入数据(默认大小100M,左侧存索引,右侧写数据,80%之后反相溢写)

8.分区,排序(溢写前对数据再次进行快排,对索引排)

9.溢写到文件(分区且区內有序,上一步的分区仍在同一文件)

10.Merge 归并排序(对已经有序的内容进行排序,保证分区内部有序)

11.合并(Combiner)

12.MrappMaster 观察所有 MapTask任务完成后,启动相应数量的ReduceTask,并告知 ReduceTask 处理数据范围

13.ReduceTask 主动从 MapTask 对应的分区拉取数据 下载到本地磁盘并且合并文件 归并排序

14.Reducer一次读取一次进行处理

15.默认 TextOutputFormat 往出写数据,形成对应的文件

 

你可能感兴趣的:(Hadoop,hadoop,mapreduce)