Hive パーティション分割されたデータセットのスキャン
チームはクリーニング済みの Parquet 形式のチェックアウトデータを、年ごとにディレクトリを分けた Hive パーティション構成(checkoutyear=2023/、checkoutyear=2024/)で保存しています。パーティション分割されたデータセットをスキャンし、パーティション列でフィルタリングすることで、必要な年のデータだけを読み込みましょう。
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)