始める無料で始める

遅延クエリのプロファイリング

新しいクエリを日次ワークフローに追加する前に、チームは処理時間の内訳を確認したいと考えています。プロファイリングは .collect() と同様に遅延クエリを実行しますが、各ステージの処理時間を1行ずつ記録したタイミング用 DataFrame も返します。

この演習はコースの一部です

Polars によるデータパイプラインのスケーリングと最適化

コースを見る

演習の手順

  • use"Physical" である行に library をフィルタリングしましょう。
  • .top_k() を使って、title_len の値が最も大きいタイトルを上位10件に絞りましょう。
  • タイミング用 DataFrame も取得できるよう、プロファイリングを使ってクエリを実行しましょう。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

result, timings = (
    library
    # Filter to physical checkouts
    .filter(pl.col("use") == "____")
    .with_columns(pl.col("title").str.len_chars().alias("title_len"))
    # Keep the 10 longest titles
    .top_k(10, by="____")
    # Run with profiling to capture per-stage timings
    .____()
)
print(timings)
コードを編集して実行