開始使用免費開始

為延遲查詢做效能剖析

在把新查詢加入每日工作流程之前,團隊想先了解時間花在哪裡。剖析會像 .collect() 一樣執行延遲查詢,但另外會回傳一個 timings 的 DataFrame,每個階段對應一列。

本練習屬於課程

使用 Polars 擴充與最佳化資料管線

檢視課程

練習說明

  • library 篩選為 use 等於 "Physical" 的借閱紀錄。
  • 使用 .top_k()title_len 保留最長的前 10 個標題。
  • 以啟用剖析的方式執行查詢,讓你同時取得 timings 的 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)
編輯並執行程式碼