我正在尝试找到具有最大值的键,但每次都会生成错误,说无法将文本转换为字符串。这与java mapreduce有关。
错误: TaskInputOutputContext类型中的write(Text,IntWritable)方法不适用于参数(String,IntWritable)
列表:
994290 5
994380 33
994410 1
994440 11
995010 2
995030 5
预期:
994380 33
代码:
@Override
public void reduce(Text key, Iterable<IntWritable> values, Context context)
throws IOException, InterruptedException {
int max = 0;
String keyWithMax = "";
for (IntWritable value : values) {
if (value.get() > max) {
max = value.get();
keyWithMax = key.toString();
}
}
context.write(keyWithMax, new IntWritable(max));
}
你能帮帮我吗?