根据相等的列值添加另一列
PySpark:可能是重复的,找不到类似的问题。
我有一个表 A:
a | b | c
---------
1 | 3 | p
2 | 4 | q
3 | 4 | r
4 | 7 | s
和一个表 B:
p | q
---------
1 | Yes
2 | No
3 | Yes
我希望将结果表连接到列 a 值等于列 p 值。我尝试了内部联接,但它为每个 q 值返回整个表 A 的副本。我希望结果表为:
a | b | c | q
--------------
1 | 3 | p | Yes
2 | 4 | q | No
3 | 4 | r | Yes
请帮助了解如何在 PySpark 中实现此目的?另外,如果我想要这张桌子,我该怎么办:
a | b | c | q
--------------
1 | 3 | p | Yes
2 | 4 | q | No
3 | 4 | r | Yes
4 | 7 | s | null
PySpark: Possibly a duplicate, can't find a similar question.
I have a table A:
a | b | c
---------
1 | 3 | p
2 | 4 | q
3 | 4 | r
4 | 7 | s
And a table B:
p | q
---------
1 | Yes
2 | No
3 | Yes
I want the resultant table to be joined on column a value being equal to column p value. I tried the inner join, but it returns a copy of the entire table A for each q value. I want the resultant table to be:
a | b | c | q
--------------
1 | 3 | p | Yes
2 | 4 | q | No
3 | 4 | r | Yes
Please help out with how to achieve this in PySpark? And also, what do I do if I wanted this table:
a | b | c | q
--------------
1 | 3 | p | Yes
2 | 4 | q | No
3 | 4 | r | Yes
4 | 7 | s | null
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用两个
DataFrames
之间的 join 语句轻松地完成此操作。可以找到有关联接的更多信息 - Spark 连接
数据准备
连接 - 内
连接 - 左
You can easily do this with a join statement between the two
DataFrames
More Information on Joins can be found - Spark Joins
Data Preparation
Join - Inner
Join - Left