Kom igångKom igång gratis

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

Visa kurs

Övningsinstruktioner

  • Filtrera library till utlåningar där use är "Physical".
  • Behåll de 10 längsta titlarna baserat på title_len med .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)
Redigera och kör kod