LoslegenKostenlos starten

Profiling einer Lazy Query

Bevor eine neue Abfrage in einen täglichen Workflow aufgenommen wird, möchte das Team sehen, wo tatsächlich Zeit verbraucht wird. Profiling führt die Lazy Query wie .collect() aus, gibt aber zusätzlich ein Timings-DataFrame mit einer Zeile pro Stufe zurück.

Diese Übung ist Teil des Kurses

<Kurs>Skalieren und Optimieren von Data-Pipelines mit Polars</Kurs>
Kurs ansehen

Übungsanweisungen

  • Filtere library auf Ausleihen, bei denen use "Physical" ist.
  • Behalte die 10 längsten Titel nach title_len mit .top_k().
  • Führe die Abfrage mit Profiling aus, damit du auch ein Timings-DataFrame erhältst.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

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 bearbeiten und ausführen