Aller au contenu principal

insight de performance de query

info

Bêta

Cette fonctionnalité est en Bêta. Les administrateurs du Workspace peuvent contrôler l'accès à cette fonctionnalité à partir de la page Previews . Consultez Gérer les aperçus Databricks.

Cette page décrit les insights de performance que Databricks renvoie dans l'historique des query et comment y agir.

Lorsque les requêtes s'exécutent, Databricks pourrait retourner des informations qui identifient des opportunités pour améliorer les performances.

Trouvez des insights et des recommandations pour votre query

Les insights apparaissent dans votre historique de query et dans le profil de query. Le panneau des détails de la query affiche un résumé des insights, classés par leur effet estimé sur la durée totale de la tâche. Le tab Performance insights dans le profil de query affiche le détail complet pour chaque insight.

Optimiser avec Genie Code

Lorsqu'une query présente des insights exploitables, sélectionnez Optimiser pour ouvrir Genie Code. Pour les insights qui nécessitent une modification de query, Genie Code réécrit la query et présente les modifications pour votre approbation. Pour les informations qui impliquent des modifications de table ou de compute, Genie Code résume les actions recommandées sous forme de texte en langage naturel.

Pour en savoir plus sur l'utilisation de Genie Code, consultez Genie Code.

Insights sur l'optimisation des requêtes

COVERAGE_FILTER_KEYS_CLUSTERING

La table est clusterisée par une ou plusieurs clés qui ne sont pas utilisées dans les filtres lors de l'analyse de la table.

**Recommandation :** Ajoutez des filtres sur les clés de clustering pour réduire les octets lus.

COVERAGE_FILTER_KEYS_PARTITIONING

La table est partitionnée par une ou plusieurs clés qui ne sont pas utilisées dans les filtres lors de l'analyse de la table.

Recommandation : Ajoutez des filtres sur les clés de partitionnement pour réduire les octets lus.

COVERAGE_PHOTON

Photon ne peut pas accélérer cette opération, de sorte que la query utilise le moteur d'exécution standard.

**Recommandation :** Examinez les limitations de Photon et ajustez la query pour utiliser un chemin d'exécution pris en charge.

EXPLODING_JOIN

La jointure produit un nombre de lignes significativement plus élevé qu'elle n'en lit.

Recommandation : Déterminez le sous-ensemble de résultats dont vous avez besoin, puis mettez à jour la condition de jointure ou réduisez le nombre de lignes d'entrée des deux relations.

FLOW_FULL_RECOMPUTE

Le flux s'exécute sous la forme d'un recompute complet.

Recommandation : réécrivez la query pour le support incrémental afin de réduire les octets lus.

REDUNDANT_AGGREGATION

Une Opération d'agrégat n'a pas modifié le résultat de la query.

Recommandation : Supprimez l'agrégat ou appliquez les contraintes de clé primaire et étrangère.

SELECTIVE_JOIN

La jointure produit nettement moins de lignes qu’elle n’en lit.

Recommandation : déterminez le sous-ensemble de résultats dont vous avez besoin, puis ajoutez des filtres avant la jointure pour réduire le nombre de lignes d’entrée.

WIDE_PROJECTION

La query projette toutes les colonnes de la table.

Recommandation : Ne projetez que les colonnes dont vous avez besoin pour réduire les octets lus.

Insights sur le Data Layout

AUTO_LIQUID_CLUSTERING

La table est optimisée manuellement et peut bénéficier du clustering liquide automatique.

Recommandations :

  • Convertissez la table d'externe en gérée pour de meilleures performances et une maintenance automatique.
  • Activez l’ optimisation prédictive sur la table pour les opérations de maintenance automatique.
  • Activez le clustering automatique sur la table pour réduire les octets lus.

CONCURRENT_WRITE

Les écritures concurrentes dans la table provoquent des conflits qui sont automatiquement résolus ou échouent.

Recommandation : examinez l'historique Delta pour identifier les écritures simultanées et ajuster la planification afin d'éviter les conflits.

COVERAGE_STATS_DELTA

Statistiques d'omission de données Delta manquantes ou incomplètes pour les filtres de fichiers de balayage de table, la query utilise donc le filtrage intra-fichier.

Le statut des statistiques pour chaque filtre peut être l'un des suivants :

  • Complet : Les statistiques sont disponibles pour tous les filtres.
  • **Partiel :** les statistiques sont disponibles pour un sous-ensemble de filtres.
  • **Indisponible :** les statistiques ne sont pas disponibles pour un filtre.
  • **Inutilisé :** Les statistiques ne peuvent pas être utilisées car le filtre convertit le type de données.

Recommandation : Collecter les statistiques Delta pour réduire les octets lus.

COVERAGE_STATS_OPTIMIZER

Les statistiques de l'optimiseur basé sur les coûts sont manquantes ou incomplètes, de sorte que le plan de query utilise des heuristiques standard.

Recommandation : Collectez des statistiques pour permettre à l'optimiseur de produire un meilleur plan.

DATA_SKEW

Les données sont distribuées de manière inégale entre les ressources de calcul.

Recommandation : examinez la distribution des données, puis utilisez le salage de clé ou la pré-agrégation pour équilibrer la charge de travail.

Compute et insight sur les ressources

DATA_SPILL

Data spilled to disk during query execution because the data did not fit in memory.

Recommandation : augmentez la taille du warehouse pour ajouter de la mémoire. Réduisez le nombre de lignes, de colonnes ou la taille des colonnes volumineuses (chaînes, tableaux, mappes, structures) afin de réduire l’utilisation de la mémoire.

EXCESSIVE_QUEUE_TIME

La query a attendu dans la file d'attente du warehouse.

Recommandation : Augmentez le nombre maximal de clusters sur le warehouse pour réduire le temps d'attente.

IO_THROTTLING

Une requête de stockage cloud a été limitée par le fournisseur de cloud.

Recommandation : Contactez votre administrateur pour demander l'augmentation des limites de requêtes de stockage auprès de votre fournisseur cloud.

Ressources supplémentaires

Pour un aperçu plus large des meilleures pratiques de performance, consultez le Guide complet pour optimiser les charges de travail Databricks, Spark et Delta Lake.