简体   繁体   English

如何对Java中的列组合对火花数据框进行排序?

[英]How to sort spark dataframe on the combination of columns in Java?

I have a spark data frame in Java, something like below:我在 Java 中有一个 spark 数据框,如下所示:

在此处输入图片说明

I want it to be sorted based on "Col3" but all the values of Col1 and Col2 should be in a group.我希望它根据“Col3”进行排序,但 Col1 和 Col2 的所有值都应该在一个组中。 The result should be something like below:结果应如下所示:

在此处输入图片说明

The groupBy() function is used during aggregation while your requirement just requires orderBy() groupBy() 函数在聚合期间使用,而您的要求只需要 orderBy()

Assuming dataframe df with 3 columns Col1, Col2, Col3, you can do the below in Spark假设数据帧 df 具有 3 列 Col1、Col2、Col3,您可以在 Spark 中执行以下操作

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

POC for the same is available here SQLFIDDLE此处提供相同的 POC SQLFIDDLE

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM