在下面的示例数据集中,我有两个组“A”和“B”。“描述”列包含与组“A”相关的详细信息,每当出现组“B”的示例时,我需要将与组“A”的先前示例相关的描述详细信息添加到数组中,并将其放在新数据集中的组“B”上。
样本数据集:
| 描述|组|
| --|--|
| XYZ|一|
| PQR|一|
| | B |
| DEF|一|
| HIJ|一|
| KLM|一|
| NOP|一|
| | B |
预期输出:
| 组|描述|
| --|--|
| B| [XYZ,PQR]|
| B| [DEF,HIJ,KLM,NOP]|
1条答案
按热度按时间8oomwypt1#
假设你有列
id
,它决定了行的顺序。计算group number作为group B出现的运行计数,然后使用collect_list聚合,请参阅代码。它是scala,但相同的spark.sql将在pyspark中工作:
字符串
初始数据:
型
测试结果:
型