2016-08-10 1 views
6

다음 코드는 Spark 1.5.2에서는 작동하지만 Spark 2.0.0에서는 작동하지 않습니다. Java 1.8을 사용하고 있습니다.Spark 2.0.0 Arrays.asList not working - 호환되지 않는 유형

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

나는 오류 다음 얻을 스파크 API가 변경 또는 뭔가 다른 경우 내가 알아낼 수 없습니까

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

. 도와주세요. 감사.

+0

현재 버전의 스파크 퀵 스타트 가이드에서도 잘못되었습니다! http://spark.apache.org/docs/latest/quick-start.html – vefthym

답변

13

2.0에서 FlatMapFunction.call()Iterable이 아닌 Iterator을 반환합니다. 이것을 시도하십시오 :

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