如何在Java中根据列的组合对spark dataframe进行排序?
我有一个Java的spark数据框架,如下所示: 我希望它根据“Col3”进行排序,但是Col1和Col2的所有值都应该在一个组中。 结果应该如下所示: 在聚合过程中使用groupBy()函数,而您的需求只需要orderBy() 假设dataframe df有3列Col1、Col2、Col3,您可以在Spark中执行以下操作如何在Java中根据列的组合对spark dataframe进行排序?,java,sorting,apache-spark,apache-spark-sql,Java,Sorting,Apache Spark,Apache Spark Sql,我有一个Java的spark数据框架,如下所示: 我希望它根据“Col3”进行排序,但是Col1和Col2的所有值都应该在一个组中。 结果应该如下所示: 在聚合过程中使用groupBy()函数,而您的需求只需要orderBy() 假设dataframe df有3列Col1、Col2、Col3,您可以在Spark中执行以下操作 val sortedDf = df.orderBy(col("Col1").desc,col("Col2").desc,col(&
val sortedDf = df.orderBy(col("Col1").desc,col("Col2").desc,col("Col3").asc)
此处提供了相同的POC这很有帮助,没有完全按照我想要的方式工作,因此不得不采取另一种方法。是因为该方法还是数据集?这就是方法。您共享的SQLFIDDLE如果您将其与我作为问题输出的SQLFIDDLE进行比较,您将得到它。只需按降序生成col1和col2。但这不是我在这里所期望的。