关于Reduce端取key值的问题
protected void reduce(ComboKey key, Iterable<NullWritable> values, Context context) {
int year = key.getYear();
int temp = key.getTemp();
//为什么此处同一个对象key,可以取出不同的值
for(NullWritable v : values){
System.out.println(key.getYear() + " : " + key.getTemp());
}
context.write(new IntWritable(year),new IntWritable(temp));
}
本段代码是二次排序程序中的Reduce部分代码。整个程序能够正确运行。ComboKey是我自己实现的一个普通组合类,并不是数组。我的问题是,为什么在此处的循环能够获取到不同的key值,而key本身在该段代码中并没有改变?还望各位给予帮助,谢谢!