Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中根据列的组合对spark dataframe进行排序?_Java_Sorting_Apache Spark_Apache Spark Sql - Fatal编程技术网

如何在Java中根据列的组合对spark dataframe进行排序?

如何在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(&

我有一个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("Col3").asc)

此处提供了相同的POC

这很有帮助,没有完全按照我想要的方式工作,因此不得不采取另一种方法。是因为该方法还是数据集?这就是方法。您共享的SQLFIDDLE如果您将其与我作为问题输出的SQLFIDDLE进行比较,您将得到它。只需按降序生成col1和col2。但这不是我在这里所期望的。