我有这样的数据集,我从 csv 文件中获取并使用 scala 将其转换为 RDD。
+-----------+-----------+----------+
| recent | Freq | Monitor |
+-----------+-----------+----------+
| 1 | 1234 | 199090|
| 4 | 2553| 198613|
| 6 | 3232 | 199090|
| 1 | 8823 | 498831|
| 7 | 2902 | 890000|
| 8 | 7991 | 081097|
| 9 | 7391 | 432370|
| 12 | 6138 | 864981|
| 7 | 6812 | 749821|
+-----------+-----------+----------+
如何对所有列的数据进行排序?
谢谢
最佳答案
假设您的输入 RDD/DataFrame 称为 df。
要对 recent
进行降序排序,将 Freq
和 Monitor
都进行升序排序,您可以这样做:
import org.apache.spark.sql.functions._
val sorted = df.sort(desc("recent"), asc("Freq"), asc("Monitor"))
您也可以使用 df.orderBy(...)
,它是 sort()
的别名。
关于scala - 如何对 apache spark scala 中的多列数据进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36717510/