在java mapreduce中查找具有最大值的键

时间:2018-02-25 07:30:02

标签: java mapreduce

我正在尝试找到具有最大值的键,但每次都会生成错误,说无法将文本转换为字符串。这与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));
}

你能帮帮我吗?

0 个答案:

没有答案