首页 > 其他 > 详细

Hadoop: MapReduce基础

时间:2019-05-23 23:16:26      阅读:139      评论:0      收藏:0      [点我收藏+]

基于之前对HDFS文件系统存储读写的讨论,我们知道Hadoop将一个超大文件切割成一个个Block后,复制并存储于多个Datanodes中,文件系统的所有节点集合称为Cluster(集群)。 而MapReduce则是Hadoop基于Cluster的数据处理范式 (Data Processing Paradim).

 

网络上大多数的教程和例子,让人看得一头雾水。不如换个角度来看看,为什么MapReduce对于HDFS是可行的吧。思想类似于古老的中国战略“分而治之” (Divide-and-Conquer),好比秦灭六国,有两种选择,其一是七国之兵汇于秦地一战,其二是出兵各个击破。MapReduce就是第二种选择,所谓的Bringing Functions to Data。

 

而MapReduce的两个阶段Map和Reduce,要做的工作分别是‘分布式执行’以及‘合并结果’。可以理解为,各个击破,再统一管理。如下图,我们看到,数据已经被切分成了3个Blocks,分别存放于3个DataNode上。MapReduce的Mapper会优先选择在Replica存放的硬件上执行操作,如果该硬件无法执行操作,转而在同Rack的另一台硬件上就近执行。之后,Reducer将Mapper的输出作为自己的输入,二次处理后,产生最终的输出结果。

 技术分享图片

 

从数据流的角度来看

技术分享图片

 

the reducer is shown on a different machine but it will run on mapper node only.

 https://www.edureka.co/blog/mapreduce-tutorial/

Hadoop: MapReduce基础

原文:https://www.cnblogs.com/rhyswang/p/10550435.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!