jav*_*dba 2 scala apache-spark apache-spark-sql
我的意图是做相当于基本的sql
select shipgrp, shipstatus, count(*) cnt
from shipstatus group by shipgrp, shipstatus
Run Code Online (Sandbox Code Playgroud)
我在spark数据帧中看到的示例包括其他列的汇总:例如
df.groupBy($"shipgrp", $"shipstatus").agg(sum($"quantity"))
Run Code Online (Sandbox Code Playgroud)
但在上面显示的情况下,不需要其他列.那么这里的语法和/或方法调用组合是什么?
您可以类似地执行count("*")spark agg函数:
df.groupBy("shipgrp", "shipstatus").agg(count("*").as("cnt"))
Run Code Online (Sandbox Code Playgroud)
val df = Seq(("a", 1), ("a", 1), ("b", 2), ("b", 3)).toDF("A", "B")
df.groupBy("A", "B").agg(count("*").as("cnt")).show
+---+---+---+
| A| B|cnt|
+---+---+---+
| b| 2| 1|
| a| 1| 2|
| b| 3| 1|
+---+---+---+
Run Code Online (Sandbox Code Playgroud)