我有一个包含数千行的数据框,我正在寻找的是分组并计算一列,然后按输出排序:我所做的是一些看起来像:
import org.apache.spark.sql.hive.HiveContext
import sqlContext.implicits._
val objHive = new HiveContext(sc)
val df = objHive.sql("select * from db.tb")
val df_count=df.groupBy("id").count().collect()
df_count.sort($"count".asc).show()
最佳答案
您可以使用 sort
或 orderBy
如下
val df_count = df.groupBy("id").count()
df_count.sort(desc("count")).show(false)
df_count.orderBy($"count".desc).show(false)
不要使用
collect()
因为它将数据作为 Array
传送给驱动程序.希望这可以帮助!
关于scala - 数据帧 : how to groupBy/count then order by count in Scala,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51725418/