英文:
How to sort spark dataframe on the combination of columns in Java?
问题
我在Java中有一个Spark数据帧,类似下面这样:
我希望它根据“Col3”进行排序,但是Col1和Col2的所有值都应该在一组中。
结果应该类似于下面这样:
英文:
I have a spark data frame in Java, something like below:
I want it to be sorted based on "Col3" but all the values of Col1 and Col2 should be in a group.
The result should be something like below:
答案1
得分: 1
groupBy()函数在聚合过程中使用,而您的要求仅需要orderBy()函数。
假设DataFrame df 有3列:Col1、Col2、Col3,您可以在Spark中执行以下操作:
val sortedDf = df.orderBy(col("Col1").desc, col("Col2").desc, col("Col3").asc)
相同操作的POC可在此处找到:SQLFIDDLE链接
英文:
The groupBy() function is used during aggregation while your requirement just requires orderBy()
Assuming dataframe df with 3 columns Col1, Col2, Col3, you can do the below in Spark
val sortedDf = df.orderBy(col("Col1").desc,col("Col2").desc,col("Col3").asc)
POC for the same is available here SQLFIDDLE
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论