pyspark 内连接 取列
时间: 2023-09-25 10:15:37 浏览: 128
在 PySpark 中进行内连接(inner join)并取出特定列,可以按照以下步骤操作:
1. 使用 `join` 方法将两个 DataFrame 进行内连接,指定连接条件和连接类型:
```python
joined_df = df1.join(df2, on='join_column', how='inner')
```
2. 从连接后的 DataFrame 中选择需要的列,可以使用 `select` 方法:
```python
selected_df = joined_df.select('column1', 'column2', ...)
```
完整代码示例:
```python
from pyspark.sql import SparkSession
# 创建 SparkSession
spark = SparkSession.builder.appName('inner_join').getOrCreate()
# 创建 DataFrame 1
data1 = [('A', 1), ('B', 2), ('C', 3)]
df1 = spark.createDataFrame(data1, ['join_column', 'column1'])
# 创建 DataFrame 2
data2 = [('A', 'X'), ('B', 'Y'), ('D', 'Z')]
df2 = spark.createDataFrame(data2, ['join_column', 'column2'])
# 内连接并选择列
joined_df = df1.join(df2, on='join_column', how='inner')
selected_df = joined_df.select('column1', 'column2')
# 显示结果
selected_df.show()
```
输出结果:
```
+-------+-------+
|column1|column2|
+-------+-------+
| 1| X|
| 2| Y|
+-------+-------+
```
阅读全文