reduce(col, initialValue, merge, finish=None)
Описание
Функция reduce() применяет функцию свертки к элементам массива.
Параметры
col: Column - столбец с массивомinitialValue: Any - начальное значениеmerge: Function - функция для объединения текущего результата с элементом массиваfinish: Function - функция для финальной обработки результата (опционально)
Возвращаемое значение
Тип результата функции merge или finish
Пример использования
from pyspark.sql.functions import reduce, array, lit
from pyspark.sql import SparkSession
# Создаем SparkSession
spark = SparkSession.builder.appName("reduce_example").getOrCreate()
# Создаем DataFrame
data = [
    ("A", [1, 2, 3]),
    ("B", [4, 5, 6])
]
df = spark.createDataFrame(data, ["id", "values"])
# Вычисляем сумму элементов массива
result = df.select(
    "id",
    reduce(
        "values",
        lit(0),
        lambda acc, x: acc + x
    ).alias("sum")
).show()
# Результат:
# +---+---+
# |id |sum|
# +---+---+
# |A  |6  |
# |B  |15 |
# +---+---+
 Примечания
- Для фильтрации элементов массива используйте 
filter() - Для преобразования элементов массива используйте 
transform() - Для объединения массивов используйте 
array_union() - Для пересечения массивов используйте 
array_intersect()