НачатьНачать бесплатно

Агрегирование

Все распространённые методы агрегирования — .min(), .max(), .count() и другие — являются методами объекта GroupedData. Этот объект создаётся с помощью метода .groupBy() DataFrame. Подробнее об этом вы узнаете в следующих упражнениях. Пока достаточно знать, что для использования этих функций нужно вызвать метод .groupBy() на вашем DataFrame. Например, чтобы найти минимальное значение в столбце col DataFrame df, можно написать:

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

Это создаёт объект GroupedData (что позволяет использовать метод .min()), затем находит минимальное значение в столбце col и возвращает результат в виде DataFrame.

Теперь попробуйте выполнить агрегирование самостоятельно!

В вашем рабочем пространстве уже доступны объект SparkSession с именем spark и DataFrame 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()
Редактировать и запускать код