如何使用java api在Apache Spark Dataset中使用desc进行排序?

Din*_*kur 3 java apache-spark apache-spark-sql apache-spark-dataset

我正在使用spark会话读取文件,然后拆分单词并计算单词的迭代次数.我需要以desc顺序显示数据

SparkSession sparkSession = SparkSession
            .builder()
            .appName("Java Spark SQL basic example")
            .config("spark.master", "local")
            .getOrCreate();

JavaRDD<Word> textFile = sparkSession
            .read()
            .textFile("/Users/myname/Documents/README.txt")
            .javaRDD()
            .flatMap(s -> Arrays.asList(s.split("[\\s.]")).iterator())
            .map(w -> {
                Word word = new Word();
                word.setWord(w.replace(",", ""));
                return word;
            });

    Dataset<Row> df = sparkSession.createDataFrame(textFile, Word.class);
    df.groupBy("word").count().orderBy(org.apache.spark.sql.functions.col("count").desc()).show();
Run Code Online (Sandbox Code Playgroud)

当我使用org.apache.spark.sql.functions.col("count")它时工作正常但无法按照https://spark.apache.org/docs/2.1.1/api/java/org/apache/spark/sql/functions.html#desc( java.lang.String中)

df.sort(asc("dept"), desc("age"))

还有如何在Spark SQL中按降序排序列? 没用.我想这是斯卡拉.Java中的等价物是什么?

Umb*_*ffo 10

在Java中,您必须以这种方式导入包:

import static org.apache.spark.sql.functions.*
Run Code Online (Sandbox Code Playgroud)