Aan de slagBegin gratis

Een luie query profileren

Voordat er een nieuwe query aan de dagelijkse workflow wordt toegevoegd, wil het team zien waar de tijd daadwerkelijk aan opgaat. Profiling voert de luie query uit zoals .collect(), maar retourneert ook een timings-DataFrame met één rij per fase.

Deze oefening maakt deel uit van de cursus

Data-pipelines schalen en optimaliseren met Polars

Bekijk cursus

Oefeninstructies

  • Filter library naar checkouts waar use gelijk is aan "Physical".
  • Behoud de 10 langste titels op basis van title_len met .top_k().
  • Voer de query uit met profiling zodat je ook een timings-DataFrame krijgt.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

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)
Code bewerken en uitvoeren