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())
- SparkContext setLocalProperties
- Spark提交失败,包含java.lang.NoSuchMethodError:scala.Predef $。$ conforms()Lscala / Predef $$ less $ colon $ less;
- 如果在SparkAction中使用PySpark,Oozie作业将无法运行
- Avro Schema引发StructType
- 连接到远程Spark master – Java / Scala
- 将Spark DataFrame转换为Pojo对象
- 如何在使用JAR运行spark-submit时将程序参数传递给main函数?
- 如何强制Spark执行代码?
- 在Apache Spark中,我可以轻松地重复/嵌套SparkContext.parallelize吗?