spark dataframe表连接
时间: 2023-11-17 22:03:17 浏览: 93
Spark实现用户订单数据表连接
Spark DataFrame表连接是将两个DataFrame或表中的数据按照指定的键连接起来,生成一个新的DataFrame。常见的连接方式有内连接、左外连接和右外连接。
内连接(inner join)是指只返回两个DataFrame中键匹配的行,即只有在两个DataFrame中都存在的键才会被保留。
左外连接(left outer join)是指返回左侧DataFrame中所有行以及右侧DataFrame中与左侧DataFrame有匹配的行,如果在右侧DataFrame中没有对应的行,则Spark将插入null。
右外连接(right outer join)是指返回右侧DataFrame中所有行以及左侧DataFrame中与右侧DataFrame有匹配的行,如果在左侧DataFrame中没有对应的行,则Spark将插入null。
下面是一个例子,展示如何使用Spark DataFrame进行表连接:
```python
# 创建两个DataFrame
df1 = spark.createDataFrame([(1, "Alice"), (2, "Bob"), (3, "Charlie")], ["id", "name"])
df2 = spark.createDataFrame([(1, "Math"), (2, "English"), (4, "History")], ["id", "subject"])
# 内连接
inner_join = df1.join(df2, "id", "inner")
inner_join.show()
# 左外连接
left_join = df1.join(df2, "id", "left_outer")
left_join.show()
# 右外连接
right_join = df1.join(df2, "id", "right_outer")
right_join.show()
```
阅读全文