如何将Spark数据框中的列(列表)合并为组?

时间:2020-07-26 12:24:13

标签: api dataframe apache-spark pyspark

我想根据列中的数据帧中的日期来组合一个列表。我该怎么做?

enter image description here

示例

Date           words      

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

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

结果

Date           words

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

1 个答案:

答案 0 :(得分:1)

使用flattencollect_listdf.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]|
+----------+-------------------------------------+
{{1}}