我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MapReduce切片机制及执行流程

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MapReduce切片机制及执行流程

MapReduce切片机制及执行流程

MapReduce的切片机制


在Map阶段会将读取进来的数据进行逻辑切片进行处理。
此切片与HDFS的切块不同,HDFS的切块是将文件按照block块的形式保存起来,mr则是将文件按照切片数进行计算
默认切片大小等于块大小,也就是128m切一片,切片数与MapTask的数量是一致的,MapTask的并行度是由客户端提交Job时的切片数决定的

 

MR的执行流程

MapTask阶段 可以分为五个阶段


Read阶段:MapTask根据用户编写的Reader从中解析出一个key/vaule
Map阶段:将读取到的key/value交给用户编写的 map函数进行处理,然后产生新的key/value
Clooect收集阶段:当数据通过map函数处理过后会调用context.write此函数会将生成的key/value进行分区(调用Partition),
***(partiton可以自定义分区,也可以使用默认的分区器HashPartition,默认的分区器会按照我们设置的reduceTask的数量进行分区
也就是如果只设置了一个reduceTask就只会有一个分区,如果分区数不是1而reduceTask是1的话,不会执行分区
因为MapTask执行分区依据是先判断reduceTask的数量)***
并且写入一个环形缓冲区当中。
Spill阶段:即溢写阶段,当环形缓冲区达到80%后会对数据进行溢写,此时会对产生的小文件内部进行一次快排保证每个小文件的内部是有序的,
并在必要时对数据进行合并等操作。
Combine阶段:当所有的数据全都溢写到磁盘后会按照分区对每个分区内的所有小文件进行一次归并排序来形成一个大文件

 

shuffle阶段

从Map端开始对解析后的key/value进行分区到Reduce端对分区文件进行合并(归并排序)的过程叫做 shuffle。
shuffle的过程总共经过三次排序:
第一次排序是在Map端的环形缓冲区向磁盘刷写内容时,对小文件内的内容进行排序。
第二次排序是在Map端对环形缓冲区刷写出来的所有小文件进行合并,为归并排序。
第三次排序是在Reduce段按照分区对分区内文件进行合并,为归并排序。

 

Reduce和Combiner

combiner是MR程序中Mapper和Reducer之外的一种组件。
combiner组件的父类就是Reducer
combiner和reducer的区别在于运行的位置:
conbiner:conbiner是在每一个MapTask所在的节点进行运行,用于局部合并
Reducer:reducer是接收全局所有Mapper的输出结果,用于全局合并
combiner的意义就是对每一个maptask的输出进行局部汇总,以减小网络传输量。
并非所有的mr程序都可以使用combiner。combiner能够应用的前提是不能影响最终的业务逻辑,而且,combiner的输出kv应该跟reducer的输入kv类型要对应起来。

原文地址:https://www.cnblogs.com/MMarshall/archive/2022/03/04/15962598.html

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MapReduce切片机制及执行流程

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MapReduce切片机制及执行流程

MapReduce的切片机制在Map阶段会将读取进来的数据进行逻辑切片进行处理。此切片与HDFS的切块不同,HDFS的切块是将文件按照block块的形式保存起来,mr则是将文件按照切片数进行计算默认切片大小等于块大小,也就是128m切一片,切片数与MapTas
MapReduce切片机制及执行流程
2017-01-02

Handler消息传递机制类引入及执行流程详解

这篇文章主要为大家介绍了Handler消息传递机制类引入及执行流程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2023-05-15

详解Android消息机制完整的执行流程

经过前面几篇文章的铺垫,介绍了Hanlder、Message等类相关使用,分析了其与Looper、MessageQueue的部分源码,本篇文章主要是集中梳理Android整个消息机制执行的完整流程,需要的可以参考一下
2022-11-13

Handler消息传递机制类引入方法及执行流程是什么

这篇文章主要介绍了Handler消息传递机制类引入方法及执行流程是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Handler消息传递机制类引入方法及执行流程是什么文章都会有所收获,下面我们一起来看看吧。H
2023-07-06

编程热搜

目录