Profilování lazy dotazu
Než tým přidá nový dotaz do každodenního workflow, chce vědět, kde se skutečně tráví čas. Profilování spustí lazy dotaz stejně jako .collect(), ale navíc vrátí DataFrame s časováním – jeden řádek pro každou fázi.
Toto cvičení je součástí kurzu
Scaling and Optimizing Data Pipelines with Polars
Pokyny k cvičení
- Filtruj
libraryna výpůjčky, kde jeuserovno"Physical". - Ponech 10 nejdelších názvů podle
title_lenpomocí.top_k(). - Spusť dotaz s profilováním, aby ses dostal/a i k DataFrame s časováním.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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)