我收到了关于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;
}
});
这是一个相当简单的代码,它分别对键的值进行求和。
非常感谢任何帮助。 感谢
答案 0 :(得分:1)
您实施了错误的界面。
JavaPairRDD.reduceByKey
需要org.apache.spark.api.java.function.Function2
,这需要call
方法。scala.Function2
应该是
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;
}
});