PySpark中实现两个DataFrame左右合并的等效代码如何编写
PySpark等效pandas merge操作的实现代码
你提供的pandas合并代码,在PySpark中可通过DataFrame原生的join方法实现,参数逻辑和pandas高度对齐,同时支持左合并、右合并、内合并等多种连接方式,具体实现如下:
基础参数对应说明
- pandas中
left_on/right_on指定的左右表连接键,在PySpark中直接写相等条件即可 how参数的取值规则和pandaspd.merge完全一致
各连接方式实现代码
1. 内连接(和你提供的pandas示例完全等效)
df_merge = t_df.join(d_df, t_df.a_id == d_df.d_id, how="inner")
2. 左合并(左连接)
左表所有行保留,右表匹配不到的字段填充空值:
df_merge = t_df.join(d_df, t_df.a_id == d_df.d_id, how="left")
3. 右合并(右连接)
右表所有行保留,左表匹配不到的字段填充空值:
df_merge = t_df.join(d_df, t_df.a_id == d_df.d_id, how="right")
内容的提问来源于stack exchange,提问作者FA mn
相关产品推荐
相关产品推荐

