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过程