Zacznij terazZacznij za darmo

Profilowanie leniwego zapytania

Zanim zespół doda nowe zapytanie do codziennego przepływu pracy, chce sprawdzić, gdzie faktycznie upływa czas. Profilowanie uruchamia leniwe zapytanie tak jak .collect(), ale dodatkowo zwraca DataFrame z czasami wykonania — po jednym wierszu na każdy etap.

To ćwiczenie jest częścią kursu

Skalowanie i optymalizacja potoków danych w Polars

Zobacz kurs

Instrukcje do ćwiczenia

  • Przefiltruj library tak, aby zostawić tylko wypożyczenia, w których use ma wartość "Physical".
  • Zachowaj 10 tytułów o najdłuższej nazwie według kolumny title_len, korzystając z .top_k().
  • Wykonaj zapytanie z profilowaniem, żeby uzyskać również DataFrame z czasami wykonania.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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)
Edytuj i uruchom kod