1、Reducer类 , 由Map过程输出的一组键值对【(k2;v2)】将被进行合并处理,将同样主键下的不同value合并到一个列表【v2】中,因此Reduce的输入为(k2;【v2】)。Reducer对传入的中间结果列表数据进行某种整理或进一步的处理,并产生最终的某种形式的结果输出【(k3;v3)】
一个示例 Reducer类的基本定义
public static class IntSumReducer extend Reducer<Text, IntWritable , Text, IntWritable>
抽象类Reducer位于 org.apache.hadoop.mapreduce.Reducer<KEYIN , VALUEIN, KEYOUT, VALUEOUT> 主要方法
protected void cleanup(Context context);
protexted void reduce(KEYIN key, Iterable<VALUEIN> values, Context context);
public void run(Context context);
protected void setup(Context context);
2// reduce()方法
protected void reduce(KEYIN key ,Iterable<VALUEIN> values , Context context)throws IOException, InterruptedException{}
其中,输入参数key是传入reduce的键值,values是对应键值的value值的列表,context是环境对象参数,供程序访问Hadoop的环境对象
3、setup()和cleanup()方法