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
对象的完整示例。