如何合并在 pyspark 中重复的列? [复制]

Posted

技术标签:

【中文标题】如何合并在 pyspark 中重复的列? [复制]【英文标题】:how could I merge the column that was duplicated in pyspark? [duplicate] 【发布时间】:2020-03-26 11:10:26 【问题描述】:

我有一个如下的数据框:

+--------------------+--------------------+
|                 _id|           statement|
+--------------------+--------------------+
|                   1|            ssssssss|
|                   2|            ssssssss|
|                   3|            aaaaaaaa|
|                   4|            aaaaaaaa|
+--------------------+--------------------+

使用 df.dropDuplicates(['statement']) 后,我得到了这个:

+--------------------+--------------------+
|                 _id|           statement|
+--------------------+--------------------+
|                   1|            ssssssss|
|                   3|            aaaaaaaa|
+--------------------+--------------------+

但实际上,我想保持 _id 值如下:

+--------------------+--------------------+
|                 _id|           statement|
+--------------------+--------------------+
|                1, 2|            ssssssss|
|                3, 4|            aaaaaaaa|
+--------------------+--------------------+

我该怎么办?

【问题讨论】:

【参考方案1】:

终于在combine text from multiple rows in pyspark找到我的答案

sdf.groupBy('lstatement').agg(F.collect_list('_id').alias("_id")).show()

【讨论】:

以上是关于如何合并在 pyspark 中重复的列? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

Pyspark - 如何将转换后的列与原始 DataFrame 合并?

根据表 B pyspark 从表 A 中选择条目 [重复]

合并两个蜂巢表(不同的列大小)- pyspark

PySpark:执行联合中的列 dtype 更改 [重复]

使用 pyspark 将 Spark 数据框中的列转换为数组 [重复]

在s3中使用pyspark合并多个小json文件[重复]