Spark 2.0.0 Arrays.asList无法正常工作 – 不兼容的类型

以下代码适用于Spark 1.5.2但不适用于Spark 2.0.0。 我使用的是Java 1.8。

final SparkConf sparkConf = new SparkConf(); sparkConf.setMaster("local[4]"); // Four threads final JavaSparkContext javaSparkContext = new JavaSparkContext(sparkConf); final JavaRDD javaRDDLines = javaSparkContext.textFile("4300.txt"); final JavaRDD javaRDDWords = javaRDDLines.flatMap(line -> Arrays.asList(line.split(" "))); 

我得到以下错误

 Error:(46, 66) java: incompatible types: no instance(s) of type variable(s) T exist so that java.util.List conforms to java.util.Iterator 

我无法确定Spark API是否已更改或其他内容。 请帮忙。 谢谢。

在2.0中, FlatMapFunction.call()返回Iterator而不是Iterable 。 尝试这个:

 JavaRDD javaRDDWords = javaRDDLines.flatMap(line -> Arrays.asList(line.split(" ")).iterator())