ПочатиПочніть безкоштовно

Агрегування

Усі типові методи агрегування, як-от .min(), .max() і .count(), є методами GroupedData. Їх створюють викликом методу датафрейму .groupBy(). Ви детально розберетеся з цим у кількох наступних вправах. Поки що, щоб скористатися цими функціями, достатньо викликати цей метод для вашого датафрейму. Наприклад, щоб знайти мінімальне значення стовпчика col у датафреймі df, ви можете виконати

df.groupBy().min("col").show()

Це створює об'єкт GroupedData (тож ви можете використати метод .min()), потім знаходить мінімальне значення у col і повертає його як датафрейм.

Тепер ви готові виконати власне агрегування!

SparkSession під назвою spark уже є у вашому робочому середовищі, так само як і датафрейм Spark flights.

Ця вправа є частиною курсу

Основи PySpark

Переглянути курс

Інструкції до вправи

  • Знайдіть довжину найкоротшого (за відстанню) рейсу, що вилетів з PDX, спершу застосувавши .filter() і метод .min(). Виконайте фільтрування, посилаючись безпосередньо на стовпчик, а не передаючи SQL-рядок.
  • Знайдіть тривалість найдовшого (за часом) рейсу, що вилетів із SEA, відфільтрувавши дані за допомогою filter() і застосувавши метод .max(). Виконайте фільтрування, посилаючись безпосередньо на стовпчик, а не передаючи SQL-рядок.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# Find the shortest flight from PDX in terms of distance
flights.filter(____.____ == ____).groupBy().____(____).show()

# Find the longest flight from SEA in terms of air time
flights.filter(____).groupBy().____.show()
Редагувати та запускати код