【大数据知识】MapReduce运行流程
作者: 编辑 来源: 互联网 时间: 2018-11-25 阅读: 次
MapReduce运行流程
以wordcount为例,运行的详细流程图如下
1.split阶段
首先mapreduce会根据要运行的大文件来进行split,每个输入分片(input split)针对一个map任务,输入分片(input split)存储的并非数据本身,而是一个分片长度和一个记录数据位置的数组。输入分片(input split)往往和HDFS的block(块)关系很密切,假如我们设定HDFS的块的大小是64MB,我们运行的大文件是64x10M,mapreduce会分为10个map任务,每个map任务都存在于它所要计算的block(块)的DataNode上。
2.map阶段
map阶段就是程序员编写的map函数了,因此map函数效率相对好控制,而且一般map操作都是本地化操作也就是在数据存储节点上进行。本例的map函数如下:
- publicclassWCMapperextendsMapperLongWritable,Text,Text,IntWritable{@Override
- protectedvoidmap(LongWritablekey,Textvalue,Contextcontext)throwsIOException,InterruptedException{
- Stringstr=value.toString();
- String[]strs=StringUtils.split(str,'');for(Strings:strs){
- context.write(newText(s),newIntWritable(1));
- }
- }
- }
根据空格切分单词,计数为1,生成key为单词,value为出现1次的map供后续计算。
3.shuffle阶段
shuffle阶段主要负责将map端生成的数据传递给reduce端,因此shuffle分为在map端的过程和在reduce端的执行过程。
先看map端:
- map首先进行数据结果数据属于哪个partition的判断,其中一个partition对应一个reduce,一般通过key.hash()%reduce个数来实现。
- 把map数据写入到Memory Buffer(内存缓冲区),到达80%阀值,开启溢写进磁盘过程,同时进行key排序,如果有combiner步骤,则会对相同的key做归并处理,最终多个溢写文件合并为一个文件。
reduce端:
reduce节点从各个map节点拉取存在磁盘上的数据放到Memory Buffer(内存缓冲区),同理将各个map的数据进行合并并存到磁盘,最终磁盘的数据和缓冲区剩下的20%合并传给reduce阶段。
4.reduce阶段
reduce对shuffle阶段传来的数据进行最后的整理合并
- publicclassWCReducerextendsReducerText,IntWritable,Text,IntWritable{@Override
- protectedvoidreduce(Textkey,IterableIntWritablevalues,Contextcontext)throwsIOException,InterruptedException{intsum=0;for(IntWritablei:values){
- sum+=i.get();
- }
- context.write(key,newIntWritable(sum));
- }
- }
MapReduce的优缺点
优点:
- 易于编程;
- 良好的扩展性;
- 高容错性;
4.适合PB级别以上的大数据的分布式离线批处理。
缺点:
- 难以实时计算(MapReduce处理的是存储在本地磁盘上的离线数据)
- 不能流式计算(MapReduce设计处理的数据源是静态的)
- 难以DAG计算MapReduce这些并行计算大都是基于非循环的数据流模型,也就是说,一次计算过程中,不同计算节点之间保持高度并行,这样的数据流模型使得那些需要反复使用一个特定数据集的迭代算法无法高效地运行。
上一篇:【大数据技术】大数据相关的五大技术 下一篇:没有了
相关阅读
友情提示: 登录后发表评论,可以直接从评论中的用户名进入您的个人空间,让更多网友认识您。
最新文章
随机推荐
- 魅族年货节正式打响,多重福利好礼等你来拿
- 欧洲女子为变身“波霸艳后”花近30万元整容
- “袜二代”不肯继承家业,一年狂销1.2亿变老爸的“甲方爸爸”
- 目前最为划算的4款高端旗舰: 性能相当强悍, 价格还很实惠!
- 启明公益万里行——安徽安庆宿松县五里乡中心敬老院
- 贵州禧鸿泰集团带领黔货企业合力举行“禧耀红城黔货出山”群星会
- 放弃北上广 只因那大理的一片花海
- 环球雅思进驻新疆,为乌鲁木齐学子提供高质量雅思培训
- 机器人公子小白频频亮相品牌大剧 揭秘背后实力
- 2017“猛歌”垫江起航!
- 外媒:阿里通过了领导力传承“终极考验”,将保持高速增长
- 功能型暖咖八芭吉纳乐易袋泡咖啡 上线X周,销售额已破20万!
- 恶意敲诈浪费行政资源,专家建议对职业索偿人限制适用惩罚性赔偿
- 京东终于正面对上顺丰
- 这次传承马云为什么说他准备了十年?详解六大关键问题
- 菲律宾媒体妄议中国海军宣传片
- 教育部追授钟扬“全国优秀教师”荣誉称号
- 深圳首届房车露营大会暨广东首届房车露营高峰论坛新闻发布会
- 海大寸金学院校友会成立,促校友与母校同发展
- 中国进入“两会时间”
最新评论
更多评论