这一讲我们主要剖析MapReduce的原理机制和流程。

 

“云计算分布式大数据Hadoop实战高手之路”之完整发布目录

 

云计算分布式大数据实战技术Hadoop交流群:312494188,每天都会在群中发布云计算实战性资料,欢迎大家加入!

 

关于MapReduce,你至少需要知道以下几点:

1,         MapReduce是运行于分布式文件系统之上的,在Hadoop中就是运行于HDFS之上的;

2,         MapReduce主要用于大规模数据的并行运算,这种大数据通过指1TB以上;

3,         MapReduce的运行原理是把一个大任务切割成很多并行运行的小任务,然后合并小任务运行完后的结果,从而得到最终结果;

下图是MapReduce运行过程图:

王家林的“云计算分布式大数据Hadoop实战高手之路---从零开始”的第十一讲Hadoop图文训练课程:MapReduce的原理机制和流程图剖析

理解这张图有以下几个要点:

1,         首先从图中我们可以看到MapReduce把Input files根据自己的规则进行了划分成了很多split ,在HDFS中把一个数据会被分成多个Block,一个Block会存在HDFS节点中的任意一个节点,即文件的存储是分布式的,在此图中数据被划分成了5个部分;

1,         对应于每个split就会有Map任务,在该图中,这个Map任务就是Work,着中国对应关系一般都是一对一的,即一个split就会对应一个Map任,MapReduce把一个大任务切割成很多并行运行的小任务,这里的小任务就是Map;

2,         Map运行的过程中会产生很多中间结果;

3,         然后就进入了Reduce阶段,即对Map运行的中间结果进行合并;

4,         合并后的结果就会写入到输出文件中;