📅  最后修改于: 2023-12-03 15:07:14.083000             🧑  作者: Mango
在 PySpark 中,我们经常需要在表格数据中删除重复行。这可以通过使用 PySpark DataFrame 的 dropDuplicates()
方法来实现。
以下是删除 PySpark DataFrame 中重复行的步骤:
from pyspark.sql import SparkSession
spark = SparkSession.builder.appName('remove_duplicates').getOrCreate()
df = spark.read.csv('data.csv', header=True, inferSchema=True)
df = df.dropDuplicates()
df.show()
下面是一个完整的示例程序,可以将其复制并粘贴到 PySpark 控制台中进行测试。
from pyspark.sql import SparkSession
# 创建 SparkSession
spark = SparkSession.builder.appName('remove_duplicates').getOrCreate()
# 加载数据集,即 PySpark DataFrame
df = spark.read.csv('data.csv', header=True, inferSchema=True)
# 去除重复行
df = df.dropDuplicates()
# 显示处理后的 PySpark DataFrame
df.show()
在 PySpark 中,重复判断是依据 DataFrame 中所有列的数值进行的,如果有多列重复,则将其视为完全重复。如果想要指定对单独的列进行去重,可以使用 dropDuplicates()
方法的 subset
参数,例如:
df = df.dropDuplicates(subset=['name'])
这将在删除重复行时仅考虑 'name'列的数值,而其他列则不考虑。
在本文中,我们介绍了如何使用 PySpark 的 dropDuplicates()
方法从 DataFrame 中删除重复行。这个方法对于清洗和处理大规模表格数据非常有用,并且其使用非常简单。