【发布时间】:2018-02-27 07:13:09
【问题描述】:
我正在尝试查找具有最大值的键,但每次说无法将文本转换为字符串时都会生成错误。这和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));
}
你能帮帮我吗?
【问题讨论】:
-
请检查我的答案。希望对您有所帮助。