MapReduce之自定义Combiner

概述

Combinar 继承了`Reducer`, 可选过程, 在map端的实现分组 (是在map端运行的reduce), 减小网络IO传输; 
使用Combiner需要满足的条件
  • Combiner不能影响最终计算结果
    例如求平均值就不能使用Combiner
  • 输出k-v类型必须与map输出一致

自定义过程

1. 继承Reducer, 重写Reduce方法
x
 
1
Public class MyReducer extends Reucer<Text, IntWritable, Text, IntWritable>{
2
    
3
    @Override
4
    protected void reduce(Text key, Iterable<IntWritable> values,Context context)
5
}
2. 在Job驱动类设置
1
 
1
job.setCombinerClass(WordcountCombiner.class);

猜你喜欢

转载自www.cnblogs.com/bitbitbyte/p/12730951.html
今日推荐