首页 > 代码库 > Map-Reduce的工作机制

Map-Reduce的工作机制

Mapper

“Map-Reduce”的思想就是“分而治之”

Mapper负责“分”,即把复杂的任务分解为若干个“简单的任务”而执行

“简单的任务”有几个意思:1、数据或计算规模相对于原任务要大大缩小;

2、就近计算,即会被分配到存放了所需数据的节点进行计算。

3、这些小任务可以并行计算,彼此间没有相互依赖的关系

Reduce

? 对map阶段的结果进行汇总
? Reducer的数目由mapred-site.xml配置文件里的项目mapred.reduce.tasks决定。缺
省值为1,用户可以覆盖之

 

Shuffler

? 在mapper和reducer中间的一个步骤(可以没有)
? 可以把mapper的输出按照某种key值重新切分和组合成n份,把key值符合某种范围的
输出送到特定的reducer那里去处理
? 可以简化reducer过程

 

Map-Reduce的工作机制