没有合适的资源?快使用搜索试试~ 我知道了~
首页Hadoop各组件详解(MapReduce篇)
Hadoop各组件详解(MapReduce篇)
14 下载量 151 浏览量
更新于2023-03-03
评论
收藏 259KB PDF 举报
MapReduce MapReduce简介及优点 MapReduce是一个分布式运算程序的编程框架,是Hadoop数据分析的核心 MapReduce的核心思想是将用户编写的逻辑代码和架构中的各个组件整合成一个分布式运算程序,实现一定程序的并行处理海量数据,提高效率 海量数据难以在单机上处理,而一旦将单机版程序扩展到集群上进行分布式运行势必将大大增加程序的复杂程度,所以引入MapReduce架构,开发人员可以将精力集中于数据处理的核心业务逻辑上,而将分布式程序中的公共功能封装成框架,以降低开发的难度 一个完整的MapReduce 程序有三类实例进程 MRAppMaster:负责整个程序的协调过程
资源详情
资源评论
资源推荐
Hadoop各组件详解(各组件详解(MapReduce篇)篇)
MapReduce
MapReduce简介及优点简介及优点
MapReduce是一个分布式运算程序的编程框架,是Hadoop数据分析的核心
MapReduce的核心思想是将用户编写的逻辑代码和架构中的各个组件整合成一个分布式运算程序,实现一定程序的并行处理海量数据,提高效率
海量数据难以在单机上处理,而一旦将单机版程序扩展到集群上进行分布式运行势必将大大增加程序的复杂程度,所以引入MapReduce架构,开发人员可以将精力集中于数
据处理的核心业务逻辑上,而将分布式程序中的公共功能封装成框架,以降低开发的难度
一个完整的MapReduce 程序有三类实例进程
MRAppMaster:负责整个程序的协调过程
MapTask:负责map阶段的数据处理
ReduceTask:负责reduce阶段的数据处理
MapReduce基本流程基本流程
第一步:InputFormat
第二步:Split
第三步:RecordReader
第四步:Map
第五步:Partition
第六步:Sort
第七步:Combiner
第八步:Group
第九步:Reduce
第十步:OutputFormat
MapReduce整体详细流程整体详细流程
1.Map阶段阶段
1、数据读取、逻辑切片
首先,读取数据的组件InputFormat(默认TextInputFormat)
会通过getSplits方法对输入目录中的文件进行逻辑切片规划得到splits切片
有多少个split就对应启动多少个MapTask,默认情况下split与block的对应关系默认是一对一
2、RecordReader处理输出
将输入文件切分为splits之后,由RecordReader对象(默认LineRecordReader)进行读取
以作为分隔符,读取一行数据,返回
Key表示每行首字符偏移值,value表示这一行文本内容
3、执行map方法
读取split返回,进入用户自己继承的Mapper类中,执行用户重写的map函数
RecordReader读取一行,用户重写的map调用一次,并输出一个
2.Shuffle阶段(阶段(Map输出之后,输出之后,Reduce输出之前)输出之前)
1.数据分区、写入内存
此时outputCollectot,会收集Map写出的数据,将key/value以及Partition的结果将并放入内存中的环形缓冲区
注意:
a.在写到环形缓冲区的过程中进行分区
b.缓冲区的作用是批量收集map结果,减少磁盘IO的影响
c.使用环形数据结构是为了更有效地使用内存空间,在内存中放置尽可能多的数据;
d.环形缓冲区其实是一个字节数组,数组中存放着key、value的序列化数据和key、value的元数据信息,
包括partition、key的起始位置、value的起始位置以及value的长度;环形结构是一个抽象概念
e.缓冲区是有大小限制,默认是100MB,可修改;当Map task的输出结果很多时,就可能会撑爆内存,
所以需要在一定条件下将缓冲区中的数据临时写入磁盘,然后重新利用这块缓冲区;
这个从内存往磁盘写数据的过程被称为Spill,中文可译为溢写;这个溢写是由单独线程来完成,
不影响往缓冲区写map结果的线程;溢写触发的比例默认是0.8,也就是当缓冲区的数据已经达到阈值时,
溢写线程启动,锁定这80MB的内存,执行溢写过程。Map task的输出结果还可以往剩下的20MB内存中写,互不影响
2、溢写、排序、combine(局部合并)
当环形缓冲区中的数据到达一定比例时,开启溢写( 从内存往磁盘写数据的过程被称为Spill,中文可译为溢写 ),
weixin_38609089
- 粉丝: 5
- 资源: 925
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 27页智慧街道信息化建设综合解决方案.pptx
- 计算机二级Ms-Office选择题汇总.doc
- 单链表的插入和删除实验报告 (2).docx
- 单链表的插入和删除实验报告.pdf
- 物联网智能终端项目设备管理方案.pdf
- 如何打造品牌的模式.doc
- 样式控制与页面布局.pdf
- 武汉理工Java实验报告(二).docx
- 2021线上新品消费趋势报告.pdf
- 第3章 Matlab中的矩阵及其运算.docx
- 基于Web的人力资源管理系统的必要性和可行性.doc
- 基于一阶倒立摆的matlab仿真实验.doc
- 速运公司物流管理模式研究教材
- 大数据与管理.pptx
- 单片机课程设计之步进电机.doc
- 大数据与数据挖掘.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0