千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  应聘面试  >  大数据面试题  > MapReduce的原理(重点)

MapReduce的原理(重点)

来源:千锋教育
发布人:wjy
时间: 2022-09-02 15:36:00 1662104160

MapperTask 使用逻辑切片的方式划分block,调用InputFormat中的算法进行划分,TextInputFormat默认按照128M进行划分(默认一个block至少有一片),每个分片以行首开头,以行尾结尾。 

每个分片对应一个mapper读入数据后,调用mapper函数转换成(k,v)形式,然后按照分区排序,分批溢写到磁盘。

Shuffle 从map分区排序溢写到reduce拉取数据的过程称为shuffle。

每个mapTask都有一个缓存区域,当调用write方法时,数据先写入到缓存区域中,数据写满80%后会先进行分组排序然后溢写到磁盘,剩下的20%继续同步写入数据。

如果定义了combine方法,则这里会发生分组内的聚合。

一个mapTask最终会生成多个临时文件,最后将这些临时文件使用归并排序合并成一个大文件,并按照分区器规则维护一个索引文件,在合并过程中也可以发生分组内聚合。

reducerTask数量由用户设定,每个reducer对应一个分区数据。

reducer拉取分区数据到本地,一次性读入一组数据执行reduce方法,然后按照OutPutFormat的输出格式将最终结果输出到hdfs,每个reducer对应一个文件。

MapReduce的原理(重点)

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT