嗨,我正在编写 map reduce 代码来查找最高温度。问题是我得到了最高温度但没有相应的钥匙。
public static class TemperatureReducer extends Reducer<Text,IntWritable,Text,IntWritable>{
Text year=new Text();
int maxTemperature=Integer.MIN_VALUE;
public void reduce(Text key, Iterable<IntWritable> values, Context context) throws IOException, InterruptedException {
for(IntWritable valTemp:values) {
maxTemperature=Math.max(maxTemperature, valTemp.get());
}
//System.out.println("The maximunm temperature is " + maxTemperature);
context.write(year, new IntWritable(maxTemperature));
}
}
映射器想象
1955 52
1958 7
1985 22
1999 32
等等。
它正在覆盖密钥并打印所有数据。我只想要最高温度和年份。