Spark – Sort by column in descending order?

  • Post author:

In order to sort by descending order in Spark DataFrame, we can use desc property of the Column class or desc() sql function. In this article, I will explain the sorting dataframe by using these approaches on multiple columns.

Using sort() for descending order

First, let’s do the sort.


df.sort("department","state")

Now, let’s do the sort using desc property of Column class and In order to get column class we use col() SQL function


import org.apache.spark.sql.functions.col
df.sort(col("department").desc,col("state").desc)

Finally, let’s see how desc() SQL function by importing org.apache.spark.sql.functions.desc


import org.apache.spark.sql.functions.desc
df.sort(desc("department"),desc("state"))

Using orderBy() for descending

Alternatively, we can also use orderBy() function of the DataFrame to sort by descending order. All examples explained with sort() also works here.


df.orderBy("department","state")
import org.apache.spark.sql.functions.col
df.orderBy(col("department").desc,col("state").desc)
import org.apache.spark.sql.functions.desc
df.orderBy(desc("department"),desc("state"))

Using SQL to sort

And, we can also use SQL expression to sort by descending order.


df.createOrReplaceTempView("DEPT")
spark.sql(" select employee_name,desc('department'),desc('state'),salary,age,bonus from DEPT")

Happy Learning !!

NNK

SparkByExamples.com is a Big Data and Spark examples community page, all examples are simple and easy to understand and well tested in our development environment Read more ..

Leave a Reply