大数据应用技术实验报告三 MapReduce分布式编程
MapReduce 分布式计算系统
Mapper负责“分”
分解计算任务,规模大大缩小;
“计算向数据靠近” ;
这些小任务可以并行计算。
Reducer负责“汇总” map阶段的结果
Combiner函数
本地化的reducer
Partitioner函数
决定着Map节点的输出将被分区到哪个Reduce节点
什么是shuffle
怎样把map task的输出结果有效地传送到reduce端?
map输出之前,在内存里经过sort和combiner,再将所有的输出集合到partitioner进行划分到不同的reducer,在每个分区(partition)中,再进行内存中排序,再运行combiner,最后输出到HDFS。