标签:
一、基本执行过程
MapReduce过程分为两个阶段:map函数阶段和reduce函数阶段
(1)map函数是用来筛选掉非需要的数据,以键值对的形式输出,键为文件位置偏移量,值为待分析的数据,map函数核心目的是形成对数据的索引,以供reduce函数方便对数据进行分析。
(2)reduce函数以Map函数的输出数据为数据源,对数据进行相应的分析,输出结果为最终的目标数据。
二、实际应用中的分布式执行过程
(1)一个map、一个reduce
(2)多个map节点、一个reduce
(3)多个map、多个reduce
三、通过combiner函数实现执行效率优化
由于map任务的输出结果传递给reduce任务过程中,是在节点间的传输,是占用带宽的,这样带宽就制约了程序执行过程的最大吞吐量,为了减少map和reduce间的数据传输,在map后面添加了combiner函数来就map结果进行预处理,combiner函数是运行在map所在节点的。
四、实例
标签:
原文地址:http://www.cnblogs.com/chybin/p/5263383.html