PySpark 两种常用操作:isin 和 join

PySpark 两种常用操作:isin 和 join

在本文中,我们将介绍 PySpark 中的两种常用操作:isin 和 join。这是在处理数据时经常遇到的两个常见问题。

阅读更多:PySpark 教程

isin 操作

isin 是一种用于筛选特定值的操作。它允许我们从一个数据集中筛选出包含特定值的行或者列。isin 操作通常用于过滤数据。

下面是一个示例,说明如何使用 isin 操作:

from pyspark.sql import SparkSession

# 创建 SparkSession
spark = SparkSession.builder.getOrCreate()

# 创建一个 DataFrame
data = [("Alice", 23),
        ("Bob", 27),
        ("Charlie", 25),
        ("David", 21)]

df = spark.createDataFrame(data, ["name", "age"])

# 使用 isin 操作筛选出年龄为 23 和 25 的行
result = df.filter(df.age.isin(23, 25))

result.show()

输出结果:

+-------+---+
|   name|age|
+-------+---+
|  Alice| 23|
|Charlie| 25|
+-------+---+

从以上示例可以看出,isin 操作可以直接在过滤条件中使用。在这个例子中,我们筛选出了年龄为 23 和 25 的人员信息。

join 操作

join 是一种用于合并两个数据集的操作。它通过共同的列将两个数据集连接在一起。join 操作通常用于数据集之间的关联查询和数据融合。

下面是一个示例,说明如何使用 join 操作:

from pyspark.sql import SparkSession

# 创建 SparkSession
spark = SparkSession.builder.getOrCreate()

# 创建两个 DataFrame
data1 = [("Alice", 23),
         ("Bob", 27),
         ("Charlie", 25),
         ("David", 21)]

data2 = [("Alice", "Engineer"),
         ("Bob", "Doctor"),
         ("Charlie", "Teacher"),
         ("Eve", "Lawyer")]

df1 = spark.createDataFrame(data1, ["name", "age"])
df2 = spark.createDataFrame(data2, ["name", "profession"])

# 使用 join 操作将两个 DataFrame 合并
result = df1.join(df2, "name", "inner")

result.show()

输出结果:

+-------+---+----------+
|   name|age|profession|
+-------+---+----------+
|  Alice| 23|  Engineer|
|Charlie| 25|   Teacher|
|    Bob| 27|    Doctor|
+-------+---+----------+

从以上示例可以看出,join 操作使用了两个数据集之间的共同列(在这个例子中是 “name”)来合并两个 DataFrame。通过 inner join,我们筛选出了在两个 DataFrame 中共同存在的人员信息。

总结

在本文中,我们介绍了 PySpark 中的两种常用操作:isin 和 join。isin 操作用于筛选特定值,而 join 操作用于合并数据集。这两种操作在数据处理中非常常见,能够帮助我们轻松处理大规模的数据。无论是筛选还是合并,PySpark 都提供了简洁而高效的方法来处理数据,使得我们能够更好地进行数据分析和挖掘。因此,在使用 PySpark 进行数据处理时,熟练掌握这两种操作是非常重要的。

希望本文对你理解和使用 PySpark 的 isin 和 join 操作有所帮助!

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程