我已经开始将我的Pyspark应用程序转换为Java实现。我正在使用Java 8。我刚刚开始在Java中执行一些基本的spark程序。我使用了以下wordcount示例。
SparkConf conf = new SparkConf().setMaster("local").setAppName("Work Count App");
// Create a Java version of the Spark Context from the configuration
JavaSparkContext sc = new JavaSparkContext(conf);
JavaRDD<String> lines = sc.textFile(filename);
JavaPairRDD<String, Integer> counts = lines.flatMap(line -> Arrays.asList(line.split(" ")))
.mapToPair(word -> new Tuple2(word, 1))
.reduceByKey((x, y) -> (Integer) x + (Integer) y)
.sortByKey();
我遇到了一个错误:Type mismatch: cannot convert from JavaRDD<Object> to JavaRDD<String>
,这是在lines.flatMap(line -> Arrays.asList(line.split(" ")))
代码块中出现的。我在Google上搜索了相关信息,在所有基于Java 8的Spark示例中,我都看到了相同的实现方式。请问是我的环境或程序出了什么问题?
有没有人能帮助我解决这个问题呢?
sc
是一个JavaSparkContext
实例吗? - Ravikumar