Inizia subitoInizia gratis

Profilazione di una query lazy

Prima di aggiungere una nuova query a un flusso di lavoro quotidiano, il team vuole capire dove si spende realmente il tempo. La profilazione esegue la query lazy come .collect(), ma in più restituisce un DataFrame dei tempi con una riga per ogni fase.

Questo esercizio fa parte del corso

Scalare e ottimizzare le pipeline di dati con Polars

Visualizza corso

Istruzioni dell'esercizio

  • Filtra library per i prestiti in cui use è "Physical".
  • Tieni i 10 titoli più lunghi in base a title_len usando .top_k().
  • Esegui la query con la profilazione in modo da ottenere anche un DataFrame dei tempi.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

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)
Modifica ed esegui il codice