【问题标题】:How to sort spark dataframe on the combination of columns in Java?java - 如何对Java中的列组合排序火花数据框?
【发布时间】:2020-09-17 07:50:03
【问题描述】:

我在 Java 中有一个 spark 数据框,如下所示:

我希望它根据“Col3”进行排序,但 Col1 和 Col2 的所有值都应该在一个组中。 结果应该如下所示:

【问题讨论】:

    标签: java sorting apache-spark apache-spark-sql


    【解决方案1】:

    groupBy() 函数在聚合期间使用,而您的需求只需要 orderBy()

    假设数据帧 df 包含 3 列 Col1、Col2、Col3,您可以在 Spark 中执行以下操作

    val sortedDf = df.orderBy(col("Col1").desc,col("Col2").desc,col("Col3").asc)
    

    这里有同样的 POC SQLFIDDLE

    【讨论】:

    • 这很有帮助,但没有完全按照我想要的方式工作,所以不得不采取另一种方法。
    • 是因为方法还是数据集?
    • 这就是方法。如果您将共享的 SQLFIDDLE 与我作为有问题的输出进行比较,您将得到它。您只是按降序制作 col1 和 col2 。但这不是我在这里所期望的。
    猜你喜欢
    • 1970-01-01
    • 2018-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多