Как использовать группировки в PySpark?

Пользователь

от pauline , в категории: Python , 8 месяцев назад

Как использовать группировки в PySpark?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от jett , 8 месяцев назад

@pauline 

Группировки в PySpark используются для агрегации данных вместе на основе определенных критериев и создания сводных таблиц. Для использования группировок в PySpark можно использовать метод groupBy().


Вот пример использования метода groupBy():

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
from pyspark.sql import SparkSession

# Создаем объект SparkSession
spark = SparkSession.builder.appName("GroupByExample").getOrCreate()

# Создаем DataFrame
data = [("Alice", 25, "female"),
        ("Bob", 30, "male"),
        ("Charlie", 35, "male"),
        ("Dave", 40, "male"),
        ("Emma", 45, "female")]

df = spark.createDataFrame(data, ["name", "age", "gender"])

# Группируем данные по полу и вычисляем средний возраст
avg_age_by_gender = df.groupBy("gender").avg("age")

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


В этом примере мы создали DataFrame с данными о людях, затем использовали метод groupBy() для группировки данных по полу и метод avg() для вычисления среднего возраста в каждой группе. Затем мы использовали метод show() для вывода результата на экран.


Это пример очень простой группировки. PySpark также предоставляет более мощные функции агрегации, такие как sum(), count(), max(), min(), mean(), pivot(), которые могут быть использованы вместе с методом groupBy().