Hadoop系列之OutputCollector
阿新 • • 發佈:2019-02-06
該介面的程式碼如下
public interface OutputCollector<K, V> {
void collect(K var1, V var2) throws IOException;
}
OutputCollector 由 Hadoop 框架提供, 負責收集 Mapper 和 Reducer 的輸出資料,實現map或者reduce 函式時,只需要簡單地將其輸出的 <key,value> 對往 OutputCollector 中一丟即可,剩餘的事框架自會幫你處理好。
例如如下程式碼:
public static class Reduce extends MapReduceBase implements Reducer<Text, IntWritable, Text, IntWritable> { public void reduce(Text key, Iterator<IntWritable> values, OutputCollector<Text, IntWritable> output, Reporter reporter) throws IOException { int sum = 0; while (values.hasNext()) { sum += values.next().get(); } output.collect(key, new IntWritable(sum)); } }