hug*_*ggs 2 scala apache-spark spark-dataframe
基于以下数据帧:
+---+-----+----+
| ID|Categ|Amnt|
+---+-----+----+
| 1| A| 10|
| 1| A| 5|
| 2| A| 56|
| 2| B| 13|
+---+-----+----+
Run Code Online (Sandbox Code Playgroud)
我想获得ID和分类列Amnt group的总和.
+---+-----+-----+
| ID|Categ|Count|
+---+-----+-----+
| 1| A| 15 |
| 2| A| 56 |
| 2| B| 13 |
+---+-----+-----+
Run Code Online (Sandbox Code Playgroud)
在SQL中,我会做类似的事情
SELECT ID,
Categ,
SUM (Count)
FROM Table
GROUP BY ID,
Categ;
Run Code Online (Sandbox Code Playgroud)
但是如何在Scala中执行此操作?我试过了
DF.groupBy($"ID", $"Categ").sum("Count")
Run Code Online (Sandbox Code Playgroud)
但这只是改变了Count列名,sum(count)而不是实际给出了计数的总和.
谢谢
也许你在总结错误的列,但你的grougBy/sum语句对我来说在语法上是正确的:
val df = Seq(
(1, "A", 10),
(1, "A", 5),
(2, "A", 56),
(2, "B", 13)
).toDF("ID", "Categ", "Amnt")
df.groupBy("ID", "Categ").sum("Amnt").show
// +---+-----+---------+
// | ID|Categ|sum(Amnt)|
// +---+-----+---------+
// | 1| A| 15|
// | 2| A| 56|
// | 2| B| 13|
// +---+-----+---------+
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6663 次 |
| 最近记录: |