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
Instrukcje do ćwiczenia
- Przefiltruj
librarytak, aby zostawić tylko wypożyczenia, w którychusema 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)