EmpezarEmpieza gratis

Perfilado de una consulta lazy

Antes de incorporar una nueva consulta a un flujo de trabajo diario, el equipo quiere ver dónde se invierte realmente el tiempo. El perfilado ejecuta la consulta lazy como lo hace .collect(), pero además devuelve un DataFrame de tiempos con una fila por etapa.

Este ejercicio forma parte del curso

Escala y optimiza canalizaciones de datos con Polars

Ver curso

Instrucciones del ejercicio

  • Filtra library para quedarte con los préstamos donde use sea "Physical".
  • Conserva los 10 títulos más largos según title_len usando .top_k().
  • Ejecuta la consulta con perfilado para obtener también un DataFrame de tiempos.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

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)
Editar y ejecutar código