重写 reduce 方法

Override the reduce method

我是 MapReduce 的初学者,我遇到了一个问题,我似乎找不到解决方案。 一开始,最初的问题是我无法调用 reducer(现在仍然如此,我正在尝试找出原因)。所以现在,经过一些研究,我试图为 reduce 方法添加一个 @Override 注释,但我不能,因为我有以下错误:“The method reduce ... must override or implement a超类型方法" 我不知道它是否会解决主要问题,但我不知道为什么我不能重写该方法,因为我看不到代码遗漏了什么。

您可以找到以下代码:

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

提前致谢!

方法签名错误。应该是:

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

所以你有 Iterator 而不是 Iterable

查看 Java 文档 here