PairFaltMapFunction 类似java8的flatmap方法,会返回一个value为集合的map.
在这里需要注意的是实现PairFaltMapFunction
Java版本 spark2.0以下
JavaPairRDD wordPairRDD = lines.flatMapToPair(new PairFlatMapFunction() {
@Override
public Iterable> call(String s) throws Exception {
//TODO
return List;
}
});
java版本 spark2.0以上
主要是iterator和iteratable的一些区别
JavaPairRDD wordPairRDD = lines.flatMapToPair(new PairFlatMapFunction() {
@Override
public Iterator> call(String s) throws Exception {
return List.iterator();
}
});
所以java引入的Spark包版本一定要跟服务器上运行的Spark版本相符,不然就会出现 AbstractMethodError