MapReduce简明工作原理

MapReduce被称为开启大数据算法之门的钥匙,本文对MapRduce的工作原理作一个简明的介绍。

MapReduce核心思想及框架

在古代,人们采伐下来很多木头,需要用马来拉,但如果木头很多的话,用一匹马拉则不现实,这时,找一匹更强壮的马来拉显然不是一个好的办法,而会选择让多匹马来拉;对于大数据来说,也是一样的原理,超级计算机并不是最可行的解决方案,分而治之才是最佳选择,这就是MapReduce的指导思想之一。

Hadoop 1.0版中的MapReduce计算框架(MRv1)被设计成Master/Slave(主/从)形式,如图所示,它主要包括四个部分,分别为JobTracker、TaskTracker、Client、Task。MRv1计算框架的基本思想是将问题抽象成两个阶段,Map和Reduce阶段。第一阶段也称为分解映射阶段,会先把输入数据分解为key/value键值对的形式,不断迭代,经过map函数调用处理过,然后仍以key/value键值对的形式输出到本地磁盘;第二阶段也称为合并规约阶段,会将映射阶段的输出结果按照相同key值的value合并在一起的方法进行处理,最后将归约结果输出到HDFS上。它的数据处理引擎包括两部分,Map Task和Reduce Task,前者完成Map阶段的逻辑处理,后者完成Reduce阶段的逻辑处理。运行时环境同样有两个,分别是JobTracker(一个)和TaskTracker(多个),JobTracker作为Master主节点,负责资源管理,并控制全部作业的分配,而TaskTracker作为Slave从节点,会在接收到主节点的命令后去执行相应的任务。该版本在容错性、扩展性和多框架支持方面存在着一定的缺陷,于是就有了MRv2的出现。

MRv1架构图

MRv2是在MRv1的基础上加以改进的产物,如图所示:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值