こんにちは、最大温度を見つける 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
等々。
キーを上書きし、すべてのデータを印刷しています。私は最高気温とその年だけが欲しいです。