Démarrage rapide
Activer le profilage
API du profileur
Obtenir le profileur
report()
Exemple de sortie :
- La durée en millisecondes pour chaque étape
- Le pourcentage du temps du parent par rapport au temps total
- L’imbrication hiérarchique des opérations
- Les métadonnées de chaque étape (par exemple,
ops_count,ops)
step()
clear()
summary()
Comprendre le rapport
Nom des étapes
Durée
- Étapes de planification (Planification de la requête) : généralement rapides
- Étapes d’exécution (Exécution SQL) : c’est là que s’effectue le travail réel
- Étapes de transfert (Résultat vers un DataFrame) : conversion des données en DataFrame pandas
Identifier les goulots d’étranglement
Modèles de profilage
Profiler une seule requête
Profiler plusieurs requêtes
Comparer les approches
Conseils d’optimisation
1. Vérifiez le temps d’exécution SQL
SQL execution est le goulot d’étranglement :
- Ajoutez davantage de filtres pour réduire le volume de données
- Utilisez Parquet plutôt que CSV
- Vérifiez la présence d’index adaptés (pour les sources de type base de données)
2. Vérifiez le temps d’E/S
read_csv ou read_parquet constitue le goulot d’étranglement :
- Utilisez Parquet (format colonnaire, compressé)
- Lisez uniquement les colonnes nécessaires
- Filtrez à la source si possible
3. Vérifier le transfert des données
to_df est lent :
- Le jeu de résultats est peut-être trop volumineux
- Ajoutez davantage de filtres ou réduisez la limite
- Utilisez
head()pour un aperçu