【发布时间】:2021-05-10 19:16:07
【问题描述】:
基本上,我正在尝试将接受的响应修改为this question,以保留聚合中使用的 id 字段。
如果我的输入数据框如下所示:
id | author
a | Smith
a | Jones
b | Kabir
c | Chen
c | Zhang
c | Culver
理想情况下,我希望我的输出如下所示:
id | authors | count
a | Smith, Jones | 2
b | Kabir | 1
c | Chen, Zhang, Culver | 3
我已经能够使用以下命令非常接近:
myDF2 = (myDF
.groupby("id")
.agg(concat_ws(", ", sort_array(collect_list("author"))).alias("authors"))
.groupby("authors")
.agg(count("id")).alias("count")
)
这会产生我想要的聚合,但我不知道如何在输出中保留或添加 id 字段。
【问题讨论】:
-
只按作者分组,第二组按 id 分组
-
是否可以使用作者列的size 而不是第二个 groupBy?
标签: apache-spark pyspark