【发布时间】:2018-04-11 19:43:13
【问题描述】:
我正在将 sql 代码转换为 Pyspark。
sql 代码使用汇总来汇总每个状态的计数。
我正在尝试在 pyspark 中做同样的事情,但不知道如何获取总计数行。
我有一个包含州、城市和计数的表格,我想在州部分的末尾添加每个州的总计数。
这是一个示例输入:
State City Count
WA Seattle 10
WA Tacoma 11
MA Boston 11
MA Cambridge 3
MA Quincy 5
这是我想要的输出:
State City Count
WA Seattle 10
WA Tacoma 11
WA Total 21
MA Boston 11
MA Cambridge 3
MA Quincy 5
MA Total 19
我不知道如何在状态之间添加总计数。
我确实尝试过汇总,这是我的代码:
df2=df.rollup('STATE').count()
结果显示如下:
State Count
WA 21
MA 19
但我想要每个状态之后的总数。
【问题讨论】:
-
Spark 在 SQL 和
DataFrameAPI (stackoverflow.com/q/37975227/9613318) 中都支持 Roolup。你有遇到什么问题吗? -
是的,我确实尝试了汇总,但它最终只得到了总计数的状态。我想要状态之间的总计数行
-
@yokielove 如果你能分享你引用的 sql 代码会很有帮助。
标签: apache-spark pyspark spark-dataframe pyspark-sql