PySpark 各种姿势的join连接
参考:https://sparkbyexamples.com/pyspark/pyspark-join-explained-with-examples/
1. PySpark 连接语法
PySpark SQL 连接具有以下语法,可以直接从 DataFrame 访问。
join()操作接受如下参数并返回DataFrame。
- 参数 other:连接的右侧
- 参数 on:连接列名称的字符串
- 参数如何:默认
inner。必须是inner,cross,outer,full,full_outer,left,left_outer,right,right_outer,left_semi, 和之一left_anti。
您还可以通过在 DataFrame 上添加where()和filter()方法来编写 Join 表达式,并且可以在多个列上进行 Join。
2. PySpark 连接类型
以下是 PySpark 支持的不同连接类型。
| Join String | Equivalent SQL Join |
| inner | INNER JOIN |
| outer, full, fullouter, full_outer | FULL OUTER JOIN |
| left, leftouter, left_outer | LEFT JOIN |
| right, rightouter, right_outer | RIGHT JOIN |
| cross | |
| anti, leftanti, left_anti | |
| semi, leftsemi, left_semi |
PySpark 连接类型
在我们进入 PySpark SQL Join 示例之前,首先,让我们创建一个"emp"和"dept" DataFrames。在这里,列"emp_id"在 emp 上"dept_id"是唯一的,并且在 dept 数据集上是唯一的,并且来自 emp 的 emp_dept_id 具有对 dept 数据集上的 dept_id 的引用。
这会将“emp”和“dept”DataFrame 打印到控制台。请参阅下面有关如何创建spark对象的完整示例。
