目录
一、MapReduce基本常识
二、MapReduce要点
1、combiner的组件需要注意什么?
因为combiner在MapReduce过程中可能调用也可能不调用,可能调用一次也可能调用多次,无法确定和控制。
所以,combiner的使用原则是:有或没有都不能影响业务逻辑,是不是用combiner都不能影响最终reducer的结果。而且,combiner的输出kv应该跟reducer的输入kv对应起来。因为有时使用combiner不当的话会对统计结果造成错误结局,还不如不用。比如对所有数求平均数:
Mapper端使用combiner
3 5 7 ->(3+5+7)/3=5
2 6 -> ( 2+6)/3=4
Reducer
(5+4)/2=9/2≈4.5 不等于 (3+%+7+2+6)/5=23/5≈4.6