首页 > 解决方案 > Scala - 将数据帧关系 1 连接到 n

问题描述

我有两个数据框

数据框 - 房屋(地址,号码,邮政编码)

adress 1, 28, 04030
adress 2, 01, 25040

数据框 - 人(姓名,地址,年龄)

Miki , adress 1, 15
Sterling , adress 2, 20
Archer, adress 2, 25

我需要将它们都加入第三个数据框 - Filled_HouseHouse(adress, number, zipcode, member1, member2, member3, member4) 像

 adress 1, 28, 04030, Miki, null, null, null
 adress 2, 01, 25040, Sterling, Archer, null, null

Scala+Spark中,我相信使用 map 和 group by 可能是答案,但我没有找到正确的出路。

谢谢你的时间!

标签: sqlscaladataframeapache-sparkone-to-many

解决方案


使用

val peopleUnified = people.groupBy("address").agg(collect_list("name")

我有

adress 1, Miki
adress 2, [Sterling, Archer]

所以下一步是拆分创建的列表并使用连接填充成员字段


推荐阅读