Profil de requête

Vous pouvez utiliser un profil de requête pour visualiser les détails de l’exécution d’une requête. Le profil de requête vous aide à résoudre les goulets d'étranglement en matière de performances pendant l'exécution de la requête. Par exemple :

  • Vous pouvez visualiser chaque opérateur de requête et les métriques associées, telles que le temps passé, le nombre de lignes traitées, les lignes traitées et la consommation de mémoire.
  • Vous pouvez identifier en un coup d’œil la partie la plus lente de l’exécution d’une requête et évaluer l’impact des modifications apportées à la requête.
  • Vous pouvez identifier et corriger les erreurs courantes dans les instructions SQL, par exemple des éclatements de jointures ou des analyses de tables complètes.

Spécifications

Pour afficher un profil de requête, vous devez être le propriétaire de la requête ou vous devez disposer au moins de l’autorisation CAN MONITOR sur l’entrepôt SQL qui a exécuté la requête.

Afficher un profil de requête

Vous pouvez afficher le profil de requête à partir de l’historique des requêtes en procédant comme suit :

  1. Voir l'historique des requêtes.

  2. Cliquez sur le nom d’une requête. Un panneau de détails de requête s’affiche sur le côté droit de l’écran.

    Vue simple du résumé de l’exécution des requêtes

  3. Cliquez sur Afficher le profil de requête.

    Remarque

    Si Le profil de requête n’est pas disponible est affiché, c’est qu’aucun profil n’est disponible pour cette requête. Aucun profil de requête n'est disponible pour les requêtes exécutées à partir du cache des requêtes. Pour contourner le cache des requêtes, apportez une modification triviale à la requête, par exemple en modifiant ou en supprimant l’élément LIMIT.

  4. Pour afficher le profil de requête en mode graphique (valeur par défaut), cliquez sur Vue graphique. Pour afficher le profil de requête en tant qu’arborescence, cliquez sur Arborescence.

    • La vue Graphe est optimisée pour visualiser la façon dont les données circulent d’un nœud à l’autre.
    • L’arborescence est optimisée pour trouver rapidement les problèmes liés aux performances de la requête, comme identifier l’opérateur qui met demande le temps d’exécution le plus long.
  5. En mode graphique ou arborescence, vous pouvez cliquer sur l’un des onglets en haut de la page pour afficher des détails sur chacun des opérateurs de la requête.

    • Temps passé : temps agrégé passé pour chaque opération. Le temps total de la tâche est également fourni.
    • Lignes : nombre et taille des lignes affectées par chacun des opérateurs de la requête.
    • Mémoire maximale : mémoire maximale consommée par chacun des opérateurs de la requête.

    Remarque

    Certaines opérations non Photon sont exécutées en tant que groupe et partagent des métriques communes. Dans ce cas, toutes les opérations ont la même valeur que l’opérateur parent pour une métrique donnée.

  6. En mode graphique, vous pouvez cliquer sur un opérateur pour afficher des métriques détaillées. Dans l’arborescence, vous pouvez cliquer sur le nom de l’opérateur pour afficher les détails associés.

  7. Chaque nœud est étiqueté avec son opération. Par défaut, les métriques pour certaines opérations sont masquées. Il est peu probable que ces opérations soient à l’origine des goulets d’étranglement de performances. Pour obtenir des informations sur toutes les opérations et voir d’autres métriques, cliquez sur menu Kebab en haut de la page, puis cliquez sur Activer le mode détaillé. Les opérations les plus courantes sont les suivantes :

    • Scan (Analyse) : les données ont été lues depuis une source de données et affichées sous forme de lignes.
    • Join (Jointure) : les lignes de plusieurs relations ont été combinées (entrelacées) en un seul ensemble de lignes.
    • Union : les lignes de plusieurs relations qui utilisent le même schéma ont été concaténées en un seul ensemble de lignes.
    • Shuffle (Mélange) : les données ont été redistribuées ou repartitionnées. Les opérations Shuffle sont coûteuses en ressources car elles déplacent les données entre les exécuteurs sur le cluster.
    • Hash / Sort (Hashage/tri) : les lignes sont regroupées par une clé et évaluées à l'aide d'une fonction d'agrégation comme SUM, COUNT ou MAX dans chaque groupe.
    • Filter (Filtre) : l'entrée est filtrée selon un critère, par exemple une clause WHERE, et un sous-ensemble de lignes est renvoyé.
    • (Reused) Exchange (Échange (réutilisé)) : un échange de type Shuffle (aléatoire) ou Broadcast (diffusion) est utilisé pour redistribuer les données entre les nœuds de cluster en fonction du partitionnement souhaité.
    • Collect Limit (Limite de collecte) : le nombre de lignes retournées a été tronqué à l’aide d'une instruction LIMIT.
    • Take Ordered And Project (Classement et projet) : les N premières lignes du résultat de la requête ont été retournées.
  8. (Facultatif) Pour les requêtes Databricks SQL, vous pouvez également afficher le profil de requête dans l’interface utilisateur Apache Spark. Cliquez sur le Menu kebab menu kebab en haut de la page, puis cliquez sur Ouvrir dans l’interface utilisateur Spark.

  9. Pour fermer le profil de requête, cliquez sur Masquer le profil de requête en bas du panneau.

Vous pouvez également accéder au profil de requête dans les parties suivantes de l’interface utilisateur :

  • À partir de l’éditeur SQL : une fois la requête terminée, un lien situé en bas de la page affiche le temps écoulé et le nombre de lignes retournées. Cliquez sur ce lien pour ouvrir le volet détails de la requête. Cliquez sur Afficher le profil de requête.

    Ouvrir l’historique des requêtes à partir de la sortie de l’éditeur

    Remarque

    Si le nouvel éditeur SQL est activé (préversion publique), votre lien apparaît comme dans un bloc-notes.

  • À partir d’un bloc-notes : si votre bloc-notes est attaché à un entrepôt SQL ou à un calcul serverless, vous pouvez accéder au profil de requête à l’aide du lien sous la cellule qui contient la requête. Cliquez sur Afficher les performances pour ouvrir l’historique des exécutions. Cliquez sur une instruction pour ouvrir le panneau détails de la requête.

    Ouvrir la sortie du notebook d’historique des requêtes

  • À partir de l’interface utilisateur du pipeline Delta Live Tables : vous pouvez accéder à l’historique des requêtes et au profil à partir de l’onglet Historique des requêtes dans l’interface utilisateur du pipeline. Consultez l’historique des requêtes Access pour les pipelines Delta Live Tables

  • À partir de l’interface utilisateur des travaux : cela s’applique uniquement aux travaux serverless. Consultez Exécuter votre travail Azure Databricks avec un calcul serverless pour les workflows afin d’apprendre à ouvrir le profil de requête à partir de l’interface utilisateur des travaux .

Afficher les informations sur le profil de la requête

Le profil de requête répertorie les opérateurs de niveau supérieur de la requête dans l’ordre inverse, avec le dernier opérateur répertorié en premier. Suivez les étapes suivantes pour vous familiariser avec les différentes parties du profil de requête.

  1. Utilisez les boutons Temps passé, Lignes et Mémoire maximale en haut de la vue du profil de requête pour afficher les métriques de niveau supérieur dans chaque catégorie.
  2. Cliquez sur un opérateur pour afficher des détails sur l’opération, tels que la description et les métriques sur la durée, la mémoire consommée, le nombre et la taille des lignes retournées, ainsi que les expressions de regroupement et d’agrégation ou les attributs de sortie utilisés.
  3. Pour fermer les détails de l’opérateur, cliquez sur Retour aux détails de la requête.
  4. Pour fermer le profil de requête, cliquez sur Masquer le profil de requête en bas du panneau de droite.

Partager un profil de requête

Pour partager un profil de requête avec un autre utilisateur :

  1. Voir l'historique des requêtes.
  2. Cliquez sur le nom de la requête.
  3. Pour partager la requête, vous avez deux possibilités :
    • Si l’autre utilisateur dispose du droit PEUT GÉRER sur la requête, vous pouvez partager avec lui l’URL pour le profil de la requête avec lui. Cliquez sur Partager. L’URL est copiée dans le Presse-papiers.
    • Sinon, si l’autre utilisateur n’a pas l’autorisation PEUT GÉRER ou n’est pas membre de l’espace de travail, vous pouvez télécharger le profil de la requête en tant qu’objet JSON. Télécharger. Le fichier JSON est téléchargé sur votre système local.

Importer un profil de requête

Pour importer le fichier JSON pour un profil de requête :

  1. Voir l'historique des requêtes.

  2. Cliquez sur le menu kebab menu Kebab en haut à droite, puis sélectionnez Importer un profil de requête (JSON).

  3. Dans le navigateur de fichiers, sélectionnez le fichier JSON qui a été partagé avec vous, puis cliquez sur Open (Ouvrir). Le fichier JSON est chargé et le profil de requête est affiché.

    Lorsque vous importez un profil de requête, il est chargé dynamiquement dans votre session de navigateur et n’est pas conservé dans votre espace de travail. Vous devez l’importer à nouveau chaque fois que vous souhaitez l’afficher.

  4. Pour fermer le profil de requête importé, cliquez sur X en haut de la page.

Étapes suivantes