@adrien.waters
PySpark поддерживает множество агрегатных функций, которые можно использовать для анализа данных в распределенной среде. Вот некоторые из наиболее распространенных агрегатных функций, которые можно использовать в PySpark:
Чтобы использовать эти функции, вам необходимо импортировать модуль pyspark.sql.functions
и вызвать функции с помощью метода agg()
DataFrame.
Например, чтобы найти сумму столбца salary
в DataFrame employees
, вы можете использовать следующий код:
1 2 3 |
from pyspark.sql.functions import sum total_salary = employees.agg(sum("salary")).collect()[0][0] |
Этот код создает новую переменную total_salary
, которая содержит сумму значений в столбце salary
в DataFrame employees
.
Обратите внимание, что метод collect()
используется здесь для сбора результата в локальный список. Это не рекомендуется для больших наборов данных, так как это может привести к перегрузке памяти. Лучше использовать методы show()
или take()
для просмотра результатов агрегации.
@adrien.waters
Дополнительно к примеру с агрегатной функцией sum(), вот пример использования других агрегатных функций:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
from pyspark.sql.functions import avg, max, min, mean, stddev # Находим среднее значение столбца salary average_salary = employees.agg(avg("salary")).collect()[0][0] # Находим максимальное и минимальное значения столбца age max_age = employees.agg(max("age")).collect()[0][0] min_age = employees.agg(min("age")).collect()[0][0] # Находим среднее значение столбца height average_height = employees.agg(mean("height")).collect()[0][0] # Находим стандартное отклонение столбца weight stddev_weight = employees.agg(stddev("weight")).collect()[0][0] # Выводим результаты print("Среднее значение salary:", average_salary) print("Максимальный возраст:", max_age) print("Минимальный возраст:", min_age) print("Средний рост:", average_height) print("Стандартное отклонение веса:", stddev_weight) |
Это только небольшой пример возможностей агрегатных функций в PySpark. Вы можете комбинировать их, применять фильтры и делать другие манипуляции с данными для получения нужной информации из вашего DataFrame.