我已经在apache spark和java 1.7中写了一份工作。这项工作的一个步骤是为每个RDDstring分配一个计数器,然后组合公共字符串和它们的计数器,非常类似于wordcount作业。但是,在maptopair转换中为值1赋值时,需要花费大量时间。我总共有13900673个RDD计数,我在一个节点上运行。我的地图配对代码看起来像 -
JavaPairRDD<String, Integer> somePair=getoldRDD.mapToPair(new PairFunction<String, String, Integer>() {
@Override
public Tuple2<String, Integer> call(String arg0) throws Exception {
return new Tuple2<String, Integer>(arg0, 1);
}
});
任何帮助将不胜感激。