CommencezCommencez gratuitement

Profiler une requête paresseuse

Avant d'ajouter une nouvelle requête à un flux de travail quotidien, l'équipe veut savoir où le temps est réellement passé. Le profilage exécute la requête paresseuse comme .collect(), mais retourne aussi un DataFrame des temps d'exécution avec une ligne par étape.

Cette activité fait partie du cours

Mise à l'échelle et optimisation des pipelines de données avec Polars

Voir le cours

Instructions de l’exercice

  • Filtrez library aux emprunts où use vaut "Physical".
  • Gardez les 10 titres les plus longs selon title_len en utilisant .top_k().
  • Exécutez la requête avec le profilage pour obtenir aussi un DataFrame des temps d'exécution.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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)
Modifier et exécuter le code