Fazendo profiling de uma consulta lazy
Antes de adicionar uma nova consulta ao fluxo diário, a equipe quer ver onde o tempo está sendo gasto. O profiling executa a consulta lazy como .collect(), mas também retorna um DataFrame de tempos com uma linha por estágio.
Este exercicio faz parte do curso
Dimensionamento e Otimização de Pipelines de Dados com Polars
Instruções do exercicio
- Filtre
librarypara os empréstimos em queuseé"Physical". - Mantenha os 10 títulos mais longos por
title_lenusando.top_k(). - Execute a consulta com profiling para também obter um DataFrame de tempos.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
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)