java - 如何对Java中的列组合排序火花数据框?
Posted
技术标签:
【中文标题】java - 如何对Java中的列组合排序火花数据框?【英文标题】:How to sort spark dataframe on the combination of columns in Java? 【发布时间】:2020-09-17 07:50:03 【问题描述】:我在 Java 中有一个 spark 数据框,如下所示:
我希望它根据“Col3”进行排序,但 Col1 和 Col2 的所有值都应该在一个组中。 结果应该如下所示:
【问题讨论】:
【参考方案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 。但这不是我在这里所期望的。以上是关于java - 如何对Java中的列组合排序火花数据框?的主要内容,如果未能解决你的问题,请参考以下文章