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

Сканирование набора данных с 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)
Редактировать и запускать код