Агрегирование
Все распространённые методы агрегирования — .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()