ÎncepețiÎncepe gratuit

Profilarea unei interogări lazy

Înainte de a adăuga o nouă interogare într-un flux de lucru zilnic, echipa vrea să vadă unde se consumă efectiv timpul. Profilarea rulează interogarea lazy la fel ca .collect(), dar returnează și un DataFrame cu timpi de execuție – câte un rând pentru fiecare etapă.

Acest exercițiu face parte din cursul

Scalarea și optimizarea pipeline-urilor de date cu Polars

Vezi cursul

Instrucțiuni pentru exercițiu

  • Filtrează library pentru a păstra doar împrumuturile unde use este "Physical".
  • Păstrează cele 10 titluri mai lungi pe baza coloanei title_len, folosind .top_k().
  • Execută interogarea cu profilare, astfel încât să obții și un DataFrame cu timpi de execuție.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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)
Editează și rulează codul