📅  最后修改于: 2023-12-03 14:45:52.712000             🧑  作者: Mango
PySpark是一个快速的分布式计算框架,它能够处理大规模数据的问题。在处理数据时,我们经常需要找到数据中的唯一值。在本文中,我们将讨论如何在PySpark中查找数据列中的唯一值。
在PySpark中,唯一值是指数据列中不重复的值。
为了演示如何查找唯一值,我们将首先创建一个示例的数据集。我们使用PySpark中内置的SparkSession
来创建一个Spark上下文。
from pyspark.sql import SparkSession
# 创建SparkSession对象
spark = SparkSession.builder.appName("UniqueValues").getOrCreate()
# 创建示例数据
data = [('A', 10), ('A', 20), ('B', 30), ('C', 40), ('C', 50)]
df = spark.createDataFrame(data, ['Name', 'Age'])
# 显示数据
df.show()
# +----+---+
# |Name|Age|
# +----+---+
# | A| 10|
# | A| 20|
# | B| 30|
# | C| 40|
# | C| 50|
# +----+---+
我们可以使用PySpark中的distinct()
函数来查找数据列中的唯一值。这个函数将返回一个包含不重复值的新数据集。注意,distinct()
函数不会修改原始数据集。
# 查找唯一值
unique_values = df.select("Name").distinct()
# 显示唯一值
unique_values.show()
# +----+
# |Name|
# +----+
# | B|
# | C|
# | A|
# +----+
我们还可以使用collect()
函数将唯一值获取为列表。
# 取出唯一值
unique_list = [row["Name"] for row in unique_values.collect()]
# 显示唯一值列表
print(unique_list)
# ['B', 'C', 'A']
在这篇文章中,我们学习了如何在PySpark中查找数据列中的唯一值。我们首先创建了一个示例数据集,并使用distinct()
函数查找唯一值,最后使用collect()
将唯一值获取为一个列表。