0

抱歉,如果这个问题已经得到解答,但我似乎无法让它工作,因此这篇文章。

我的代码:

    // 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 supertypemvn package

我正在尝试做的事情:

  1. 字数
  2. 然后交换(键,值)对
  3. 然后按键排序(降序)
  4. 最后合并以将输出保存在 1 个文件中(而不是 2 个)

非常感谢任何帮助,谢谢。

4

0 回答 0