df1 = spark.createDataFrame([(1, "d", 20), (1, "d1", 21), (2, "p", 45),
(3, "r", 40), (1, "d2", 22), (2, "p1", 50)],
["col1", "col2", "col3"])
输出:
+----+----+----+
|col1|col2|col3|
+----+----+----+
| 1| d| 20|
| 1| d1| 21|
| 2| p| 45|
| 3| r| 40|
| 1| d2| 22|
| 2| p1| 50|
+----+----+----+
最终输出:
+----+----+----+
|col1|col2|col3|
+----+----+----+
| 1| d2| 22|
| 2| p1| 50|
| 3| r| 40|
+----+----+----+
一种可能的解决方案是先用col1
对col2
和ascending = false
进行排序,然后再对drop_duplicate()
进行排序。
这种方法在数据帧上进行多次传递,效率低下。