array_except

array_except(col1,col2)

array_except - Функция разности между двумя массивами. Возвращения элементов, которые присутствуют в первом массиве, но отсутствуют во втором массиве.

Параметры
col1: Column or str. Колонка содержащая массив
col2: Column or str. Колонка содержащая массив
Возвращает
Column Массив значений из первого массива, которые не находятся во втором.

array_except example


from pyspark.sql import SparkSession
from pyspark.sql.functions import array_except

# Создание сессии Spark
spark = SparkSession.builder.appName("array_except_example").getOrCreate()

# Пример данных
data = [([1, 2, 3], [2, 3, 4]), ([4, 5, 6], [6, 7, 8])]
df = spark.createDataFrame(data, ["array1", "array2"])

# Получение разности между массивами
df_with_diff = df.withColumn("diff_array", array_except("array1", "array2"))

# Отображение результата
df_with_diff.show()

+---------+---------+----------+
|   array1|   array2|diff_array|
+---------+---------+----------+
|[1, 2, 3]|[2, 3, 4]|       [1]|
|[4, 5, 6]|[6, 7, 8]|    [4, 5]|
+---------+---------+----------+

pyspark array_except

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