MapReduce应用程序执行过程

 

1、用户编写Map和Reduce程序,选择一个节点作为Master来运行JobTracker;选择其他若干节点作为TaskTracker运行Map或Reduce程序;

2、把Map和Reduce程序任务分发到各个Map或Reduce节点中;

3、RR从HDFS读取InputFormat产生的分片所对应的文件数据,转换为键值对;

4、Map任务处理RR产生的键值对,Map输出结果经过Shuffle(分区、排序、合并)后把分区好的数据写入Map任务所在节点的本地硬盘中(不是HDFS中,中间结果只需临时存储,不需要分布式存储);

5、Map任务执行完毕后通知JobTracker,JobTracker通知Reduce任务读取Map输出的已分区的键值对文件中属于本Reduce任务处理的分区数据;对读取的数据归并后,执行Reduce处理;

6、Reduce输出的键值对进行归并和合并后,由OutputFormat检查并写入HDFS中。

 

posted on 2017-07-01 15:57  ostin  阅读(346)  评论(0)    收藏  举报