如何将sparkDataframe中的列(列表)合并到组中?

yks3o0rb  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(326)

我想在列为列表的数据框中合并基于日期的列表。如何才能做到这一点?

例子

Date           words      

2020-07-26    ["hello", "world"]      

2020-07-26    ["hello", "Stack Overflow"]

结果

Date           words

2020-07-26    ["hello","world","hello","Stack Overflow"]
uubf1zoe

uubf1zoe1#

使用 groupBy , flatten & collect_list 功能。
检查以下代码。

df.show(truncate=False)
+----------+-----------------------+
|date      |words                  |
+----------+-----------------------+
|2020-07-26|[hello, world]         |
|2020-07-26|[hello, Stack Overflow]|
+----------+-----------------------+
df \
.groupBy("date") \
.agg(flatten(collect_list(col("words")).alias("words"))
.show(truncate=False)
+----------+-------------------------------------+
|date      |words                                |
+----------+-------------------------------------+
|2020-07-26|[hello, world, hello, Stack Overflow]|
+----------+-------------------------------------+

相关问题