sql - 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 可能是答案,但我没有找到正确的出路。
谢谢你的时间!
解决方案
使用
val peopleUnified = people.groupBy("address").agg(collect_list("name")
我有
adress 1, Miki
adress 2, [Sterling, Archer]
所以下一步是拆分创建的列表并使用连接填充成员字段
推荐阅读
- javascript - 如何在对象数组中取消转义 json.stringify 输出
- factor-lang - 将序列解构为词法变量
- postgresql - 插入和无效几何 PostGIS
- android - Android 9 解锁屏幕后冻结 ui
- google-cloud-platform - GCP - 使用 Google Cloud SDK 跨项目移动虚拟机
- mysql - SELECT 查询,每行的列数可变
- javascript - 在 for 循环中,i 变量每次通过循环都是不同的
- javascript - Mongoose Aggregate 如何对同一集合中的 2 个数组中的 2 个对象求和
- javascript - React Router 重定向时的动画过渡
- android - 收货人未到达