Profiling kueri lazy
Sebelum menambahkan kueri baru ke alur kerja harian, tim ingin melihat di mana waktu benar-benar dihabiskan. Profiling menjalankan kueri lazy seperti .collect(), tetapi juga mengembalikan DataFrame timings dengan satu baris untuk setiap tahapan.
Latihan ini merupakan bagian dari kursus
Menskalakan dan Mengoptimalkan Pipeline Data dengan Polars
Instruksi latihan
- Saring
libraryke checkout denganusebernilai"Physical". - Pertahankan 10 judul terpanjang berdasarkan
title_lenmenggunakan.top_k(). - Jalankan kueri dengan profiling sehingga Anda juga mendapatkan DataFrame timings.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
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)