类型{type}中的Spark reduceByKey(arguments)不适用于参数{arguments}

时间:2018-01-25 14:16:50

标签: java apache-spark reduce

我收到了关于reduce,fold和reduceByKey函数的错误信息。我在论坛上搜索但没有运气。

  

类型中的方法reduceByKey(Function2)   JavaPairRDD不适用于参数(new   函数2(){})

termsRDD的类型为JavaPairRDD<Integer, Integer>

    termsRDD.reduceByKey(new Function2<Integer,Integer,Integer>(){

        private static final long serialVersionUID = -376611514417758310L;

        @Override
        public Integer apply(Integer arg0, Integer arg1) throws Exception {
            // TODO Auto-generated method stub
            return arg0+arg1;
        }

    });

这是一个相当简单的代码,它分别对键的值进行求和。

非常感谢任何帮助。 感谢

1 个答案:

答案 0 :(得分:1)

您实施了错误的界面。

应该是

import org.apache.spark.api.java.function.Function2;

termsRDD.reduceByKey(new Function2<Integer,Integer,Integer>(){
    @Override
    public Integer call(Integer arg0, Integer arg1) throws Exception {
        return arg0+arg1;
    }
});