开始使用免费开始使用

对惰性查询进行性能剖析

在将新查询加入每日工作流之前,团队想了解时间都花在了哪里。性能剖析会像 .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)
编辑并运行代码