Sort Spark Dataframe with two columns in different order

Use Column method desc, as shown below:

val df = Seq(
  (2,6), (1,2), (1,3), (1,5), (2,3)
).toDF("A", "B")

df.orderBy($"A", $"B".desc).show
// +---+---+
// |  A|  B|
// +---+---+
// |  1|  5|
// |  1|  3|
// |  1|  2|
// |  2|  6|
// |  2|  3|
// +---+---+

desc is the correct method to use, however, not that it is a method in the Columnn class. It should therefore be applied as follows:

df.orderBy($"A", $"B".desc)

$"B".desc returns a column so "A" must also be changed to $"A" (or col("A") if spark implicits isn't imported).