Mas*_*LuV 3 scala apache-spark apache-spark-sql
如何使用 Scala 反转此 DataFrame。我看到了sort函数,但必须是特定的列,我只想反转它们
+---+--------+-----+
|id | name|note |
+---+--------+-----+
|1 | james |any |
|3 | marry |some |
|2 | john |some |
|5 | tom |any |
+---+--------+-----+
Run Code Online (Sandbox Code Playgroud)
到:
+---+--------+-----+
|id | name|note |
+---+--------+-----+
|5 | tom |any |
|2 | john |some |
|3 | marry |some |
|1 | james |any |
+---+--------+-----+
Run Code Online (Sandbox Code Playgroud)
您可以添加一个具有递增 id 的列,monotonically_increasing_id()
并按降序排序
val dff = Seq(
(1, "james", "any"),
(3, "marry", "some"),
(2, "john", "some"),
(5, "tom", "any")
).toDF("id", "name", "note")
dff.withColumn("index", monotonically_increasing_id())
.sort($"index".desc)
.drop($"index")
.show(false)
Run Code Online (Sandbox Code Playgroud)
输出:
+---+-----+----+
|id |name |note|
+---+-----+----+
|5 |tom |any |
|2 |john |some|
|3 |marry|some|
|1 |james|any |
+---+-----+----+
Run Code Online (Sandbox Code Playgroud)