【问题标题】:Scala spark, show distinct column value and count number of occurrenceScala spark,显示不同的列值和计数出现次数
【发布时间】:2019-07-04 08:28:58
【问题描述】:

我正在尝试查看 parquet 文件,并希望显示一列的不同值的数量以及在其中找到它的行数。

等效的 SQL 是:

select distinct(last_name), count(*) from optimization.opt_res group by (last_name)

在 scala-spark 中(分别显示):

val dataFrame = sparkSession.read.parquet(fname)
dataFrame.show(truncate = false)
val disID = dataFrame.select("last_name").distinct()
disID.show(false)
val disCount = disID.count

我想让它显示

+-----------+-------+
| last_name | count |
+-----------+-------+
| Alfred    |   202 |
| James     |  1020 |
+-----------+-------+

【问题讨论】:

    标签: scala apache-spark apache-spark-sql


    【解决方案1】:

    dataframe.groupBy($"last_name").agg(count("*"))

    dataframe.groupBy($"last_name").count

    概念与 SQL 相同,但语法可能有点棘手,直到您习惯为止。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-15
      • 2019-02-22
      • 1970-01-01
      • 1970-01-01
      • 2021-06-07
      • 2018-04-10
      • 1970-01-01
      相关资源
      最近更新 更多