如何在Spark SQL中按降序排列?

我试过df.orderBy("col1").show(10)但它按升序sorting。 df.sort("col1").show(10)也按降序排列。 我查看了stackoverflow,我发现的答案都已经过时或被引用到RDD 。 我想在spark中使用本地数据框。

您也可以通过导入spark sql函数对列进行sorting

 import org.apache.spark.sql.functions._ df.orderBy(asc("col1")) 

要么

 import org.apache.spark.sql.functions._ df.sort(desc("col1")) 

导入sqlContext.implicits._

 import sqlContext.implicits._ df.orderBy($"col1".desc) 

要么

 import sqlContext.implicits._ df.sort($"col1".desc) 

它在org.apache.spark.sql.DataFrame用于sort方法:

 df.sort($"col1", $"col2".desc) 

注意$.desc里面的sort来sorting结果。

最简单的方法是只添加参数ascending = False:

 df.orderBy("col1", ascending=False).show(10) 

参考: http : //spark.apache.org/docs/2.1.0/api/python/pyspark.sql.html#pyspark.sql.DataFrame.orderBy

df.sort($ “的ColumnName” .desc).show()