我正在将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
但我希望在每个州之后获得总计 .
2 回答
由于您希望
Total
作为DataFrame中的新行,因此一个选项是合并groupBy()
的结果并按["State", "City", "Count"]
排序(以确保"Total"
行显示在每个组的最后一行):或者:
或者只是注册表:
并应用您当前的SQL查询