抱歉,如果这个问题已经得到解答,但我似乎无法让它工作,因此这篇文章。
我的代码:
// create Spark context with Spark configuration
JavaSparkContext sc = new JavaSparkContext(
new SparkConf()
.setAppName("Spark WordCount"));
// read text file, split into words and count the occurence of each word
JavaRDD<String> textFile = sc.textFile(args[0]);
JavaPairRDD<String, Integer> counts = textFile.flatMap(s -> Arrays.asList(s.split(" "))
.iterator())
.mapToPair(word -> new Tuple2<>(word, 1))
.reduceByKey((a, b) -> a + b);
// swap key, value to value, key
JavaPairRDD<Integer, String> swappedPair = counts.mapToPair(new PairFunction<Tuple2<String, Integer>, Integer, String>() {
@Override
public Tuple2<Integer, String> call(Tuple2<String, Integer> item) throws Exception {
return item.swap();
};
});
// sort by key
JavaPairRDD<Integer, String> sorted = swappedPair.sortByKey(false);
// save output to file
sorted.coalesce(1).saveAsTextFile(args[0].split(".txt")[0]+"_Output");
我继续symbol not found
,当我这样做时class PairFunction
也会出现这个错误method does not override or implement a method from a supertype
mvn package
我正在尝试做的事情:
- 字数
- 然后交换(键,值)对
- 然后按键排序(降序)
- 最后合并以将输出保存在 1 个文件中(而不是 2 个)
非常感谢任何帮助,谢谢。