Title here
Summary here
array_agg(col)
array_agg
- В библиотеке PySpark функция array_agg используется для агрегации значений в массиве (array) для каждой группы, подобно функции array_agg в SQL. Возвращает список объектов с дубликатами.
col
: Column or str. Столбец, значения которого нужно агрегировать в массив.Column
- Результатом является новый столбец, содержащий массив, агрегированных значений.from pyspark.sql import SparkSession
from pyspark.sql.functions import array_agg
# Создание сессии Spark
spark = SparkSession.builder.appName("array_agg_example").getOrCreate()
# Пример данных
data = [(1, "a"), (1, "b"), (2, "c"), (2, "d"), (2, "e")]
df = spark.createDataFrame(data, ["group", "value"])
df.show()
+-----+-----+
|group|value|
+-----+-----+
| 1| a|
| 1| b|
| 2| c|
| 2| d|
| 2| e|
+-----+-----+
# Агрегация значений в массив для каждой группы
df_with_array_agg = df.groupby("group").agg(array_agg("value").alias("values_array"))
# Отображение результата
df_with_array_agg.show(truncate=False)
+-----+------------+
|group|values_array|
+-----+------------+
|1 |[a, b] |
|2 |[c, d, e] |
+-----+------------+
pyspark array_agg
Добавлено в версии | 3.5.0. |