覆盖reduce方法

时间:2016-06-23 17:33:45

标签: java mapreduce override reduce

我是MapReduce的初学者,我遇到了一个我似乎无法找到解决方案的问题。 一开始,最初的问题是我无法调用减速器(情况仍然如此,我试图找到原因)。所以现在,经过一些研究,我试图为reduce方法添加一个@Override注释,但我不能因为我有以下错误:" 方法减少...必须覆盖或实现超类型方法" 我不知道它是否能解决主要问题,但我不知道为什么我无法覆盖该方法,因为我不知道代码遗漏了什么。

您可以在下面找到以下代码:

public class RSJReducer extends Reducer<Text, Text, Text, Text>  {
        @Override
        public void reduce(Text paramKey, Iterator<Text> paramValue, Context context) throws IOException, InterruptedException {
    }

提前致谢!

1 个答案:

答案 0 :(得分:2)

方法签名错误。它应该是:

reduce(KEYIN key, Iterable<VALUEIN> values, org.apache.hadoop.mapreduce.Reducer.Context context)

所以你有Iterator而不是Iterable

请参阅Java文档here