博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
三、MapReduce学习
阅读量:6078 次
发布时间:2019-06-20

本文共 731 字,大约阅读时间需要 2 分钟。

MapReducer是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Reduce(化简)"
                            
一、Mapper
    1、Mapper负责“分”,把复杂的任务分解为若干个简单的任务执行
    2、简单的任务分成:a,数据或计算规模对于原任务要大大缩小。b,就近计算,即分配到所需数据节点进行计算。c,这些已分配好的任务彼此间没有依赖关系。
二、Reducer
    1、对于map阶段的结果进行汇总
    ​2、reducer的数目由mapred-site.xml配置文件里的项目mapred.reduce.tasks决定。缺省值为1,用户可以覆盖
三、Shuffler
28194319-9debc04080a34b3e96b6353cba919402.png 
四、编程模型
这是一个气象的例子mapreduce的过程
28194322-76c429c951194f1c95a3e3cae24e7b97.png
    具体的流程:
    a,首先我们把相关的文件拷贝到hadoop集群里面去,此时hadoop就会把这个大文件分成很多块,分别放在不同的节点里面。
    b,做一个map函数,map函数可以被jobtracker进程分配到各个节点里面去运行,然后对我们的原始数据进行抽取,此例子抽取出年份和气温,此例子中只要的本地的数据即可完成任务,并能不需要在其他的节点里面去取数据。
    c,通过shuffle进行重新切分和组合,简化reducer过程,这个步骤可以没有
    d,之后经过reduce函数,将上一步合并的表通过reduce函数,找出每一行的最大值,输出到hdfs中
五、复杂的编程模型
    
28194327-393877f75cd546eeb8a30018657d6fb6.png
        复杂的编程模型,可能一个reduce承受一个范围里面的reduce任务,比如说一个reduce承受的是1930-1960年的,另外一个reduce承受的是1961-2005年的,然后分别做reduce,最后输出到hdfs中
六、mapreduce工作机制剖析
    
28194330-e5682c4c47fe4e3a93bcc6fa3914c11c.png
 

转载地址:http://lhqgx.baihongyu.com/

你可能感兴趣的文章
CSDN博客地址
查看>>
频道信息[置顶] MPEG-2 数字视频技术参考指南 (7)—— ATSC数字电视标准
查看>>
70句经典爱情语录:爱情总是在患得患失的时候最美好!
查看>>
对象序列化对象的序列化和反序列化
查看>>
GNU Gettext for Delphi, C++ and Kylix
查看>>
Linux进程间通信(三)---管道通信之有名管道及其基础实验
查看>>
在ARC中使用weak报错和文件目录找不到的解决方法
查看>>
linux nc命令使用详解
查看>>
支持网络文件断点续传的实现
查看>>
编程珠玑---读书笔记---使用后缀数组查找最长重复子串
查看>>
Ant之build.xml详解
查看>>
Flex 舞台背景渐变
查看>>
会计基础第二次模拟题(4)
查看>>
Ubuntu 问题解决汇总
查看>>
曾良 - 百度百科
查看>>
06 管理者意味着什么
查看>>
android权限大全
查看>>
微软必应借PK谷歌突围中国搜索市场
查看>>
刚子微信扯扯葱蒜
查看>>
[深入浅出Cocoa]iOS网络编程之NSStream
查看>>