Сканирование набора данных с Hive-партиционированием
Команда также хранит очищенные Parquet-файлы выдач книг в структуре с Hive-партиционированием: по одной директории на каждый год (checkoutyear=2023/, checkoutyear=2024/). Просканируйте партиционированный набор данных и примените фильтр по столбцу раздела — тогда Polars прочитает только нужные годы.
polars загружен как pl, корневая директория хранится в HIVE_DIR. Директории разделов выведены на экран, чтобы вы могли увидеть структуру.
Это упражнение является частью курса
Масштабирование и оптимизация конвейеров данных с Polars
Инструкции к упражнению
- Просканируйте
HIVE_DIR, указав нужный аргумент для включения Hive-партиционирования. - Отфильтруйте результат, оставив только выдачи начиная с 2024 года.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
requests = pl.scan_parquet(
HIVE_DIR,
# Enable hive partitioning
____=True,
)
result = (
requests
# Filter to the 2024 partition
.filter(pl.col("checkoutyear") >= ____)
.group_by("format")
.agg(pl.col("checkouts").sum().alias("total"))
.sort("total", descending=True)
.collect()
)
print(result)