array_distinct

array_distinct(col)

array_distinct - удаляет дублирующиеся элементы из массива.

Параметры
col: Column or str. Колонка, содержащая массив, из которого нужно удалить дублирующиеся элементы.
Возвращает
Column новый массив без дублирующихся элементов.

array_distinct example


from pyspark.sql import SparkSession
from pyspark.sql.functions import array, lit, array_distinct

# Создаем SparkSession
spark = SparkSession.builder.getOrCreate()

# Создаем DataFrame с колонками id и values
data = [(1, ["pyton", "java", "pyspark", "pyspark"]), (2, ["go", "go", "javascript"])]
df = spark.createDataFrame(data, ["id", "values"])

# Удаляем дублирующиеся элементы из каждого массива
df2 = df.withColumn("distinct_values", array_distinct(df.values))

# Выводим результат
df2.show(truncate=False)

+---+-------------------------------------------------+----------------------+
|id |values                                           |distinct_values       |
+---+-------------------------------------------------+----------------------+
|1  |[pyton, java, pyspark, pyspark]|[pyton, java, pyspark]|
|2  |[go, go, javascript]                     |[go, javascript]      |
+---+-------------------------------------------------+----------------------+

pyspark array_distinct

Добавлено в версии2.4.0.
Обновлено в версии3.4.0.