栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

【Hadoop】MapReduce工作流程

【Hadoop】MapReduce工作流程

MapReducer工作流程

读数据

1.客户端提交作业任务;

2.Job根据作业任务获取文件信息;

3.InputFormat将文件按照设定的切片大小(一般切片大小等于HDFS中的Block块大小)进行切片操作,并将切片的数据读入并生成一个MapTask任务;

Mapper

4.MapTask通过InputFormat获得RecordReader,从InputSplit中获取并解析出对应的key-value;

5.将解析的key-value经由编写的map()方法进行处理并产生新的key-value;

6.将生成的key-value进行第一次排序,排序后的数据将进行落盘操作;

Shuffle

7.由Map阶段生成的key-value首先进入(位于内存中的)一个环形缓冲区,该缓冲区的大小默认为100M;

8.当环形缓冲区中的数据大小达到整个缓冲区大小的80%时,缓冲区将会把数据溢出并进行分区和排序操作,之后将会进行第一次溢写操作,完成溢写后可以对数据进行合并(combiner);

9.此时数据可以进行再次的分区、排序、合并,之后将溢出到文件;

Reducer

10.ReducerTask将数据拷贝到本地磁盘,并进行归并排序操作;

11.按照key值将数据进行分组操作,相同的key的数据将会由一个reducer方法进行处理;

12.最后ReduceTask将汇总所有reducer()方法输出的结果;

写数据

13.OutputFormat从Reducer中获取数据并通过RecordWriter将数据写入文件。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/780927.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号