Profilera en lat fråga
Innan ett nytt anrop läggs till i ett dagligt arbetsflöde vill teamet se var tiden faktiskt går åt. Profilering kör den lata frågan precis som .collect() gör, men returnerar även en timings-DataFrame med en rad per steg.
Den här övningen är en del av kursen
Skalning och optimering av datapipelines med Polars
Övningsinstruktioner
- Filtrera
librarytill utlåningar däruseär"Physical". - Behåll de 10 längsta titlarna baserat på
title_lenmed.top_k(). - Kör frågan med profilering så att du även får en timings-DataFrame.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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)