Journalisation des requêtes
Important
Azure HDInsight sur AKS a été mis hors service le 31 janvier 2025. Découvrez-en plus avec cette annonce.
Vous devez migrer vos charges de travail vers Microsoft Fabric ou un produit Azure équivalent pour éviter l’arrêt brusque de vos charges de travail.
Important
Cette fonctionnalité est actuellement en préversion. Les Conditions d’utilisation supplémentaires pour les préversions Microsoft Azure incluent des termes juridiques supplémentaires qui s’appliquent aux fonctionnalités Azure en version bêta, en préversion ou qui ne sont pas encore publiées en disponibilité générale. Pour plus d’informations sur cette préversion spécifique, consultez informations sur Azure HDInsight sur AKS en préversion. Pour des questions ou des suggestions de fonctionnalités, envoyez une demande sur AskHDInsight avec les détails et suivez-nous pour plus de mises à jour sur Communauté Azure HDInsight.
Trino prend en charge les écouteurs d’événements personnalisés qui peuvent être utilisés pour suivre les étapes du cycle de vie des requêtes. Vous pouvez créer vos propres écouteurs d’événements ou utiliser un plug-in intégré fourni par HDInsight sur AKS qui enregistre les événements dans le stockage Blob Azure.
Vous pouvez activer la journalisation des requêtes intégrée de deux manières :
Vous pouvez activer la journalisation des requêtes intégrée pendant création de cluster Trino en activant le catalogue Hive.
Vous pouvez activer la journalisation des requêtes intégrées dans votre cluster à l’aide d’un modèle ARM.
Cet article traite de l’ajout de la journalisation des requêtes à votre cluster à l’aide du modèle ARM.
Conditions préalables
- Un cluster Trino opérationnel avec HDInsight sur AKS.
- Créez modèle ARM pour votre cluster.
- Passez en revue l'exemple de modèle ARM complet du cluster .
- Familiarité avec création et le déploiement de modèles ARM.
Activer la journalisation des requêtes
Pour activer le plug-in de journalisation des requêtes intégré dans votre cluster Trino, ajoutez/mettez à jour clusterProfile.trinoProfile.userTelemetrySpec
section avec les propriétés suivantes dans votre modèle ARM de cluster.
Propriété | Description |
---|---|
path |
Chemin complet d’un répertoire servant de racine pour capturer différents journaux de requêtes. |
hivecatalogName |
Ce catalogue est utilisé pour monter des tables externes sur les fichiers écrits dans le compte de stockage. Ce catalogue doit être ajouté dans votre cluster, Ajouter un catalogue Hive. |
hivecatalogSchema |
Le plug-in de journalisation des requêtes utilise ce schéma pour monter la table externe pour les journaux d’activité, le plug-in crée ce schéma s’il n’existe pas déjà. Valeur par défaut - trinologs |
partitionRetentionInDays |
Le plug-in de journalisation des requêtes supprime les partitions dans les tables de journal, qui sont antérieures à la configuration spécifiée. Valeur par défaut - 365 |
L’exemple suivant montre comment une journalisation des requêtes est activée dans un cluster Trino. Ajoutez cet exemple json sous [*].properties.clusterProfile
dans le modèle ARM.
"trinoProfile": {
"userTelemetrySpec": {
"storage": {
"path": "https://querylogstorageaccount.blob.core.windows.net/logs/trinoquerylogs",
"hivecatalogName": "hive",
"hivecatalogSchema": "trinologs",
"partitionRetentionInDays": 365
}
}
}
Déployez le modèle ARM mis à jour pour refléter les modifications apportées à votre cluster. Découvrez comment déployer un modèle ARM.
Note
Le plug-in utilise une identité managée assignée par l'utilisateur (MSI) liée au cluster pour s’authentifier auprès du stockage. Veuillez ajouter l'accès
Contributor
etStorage Blob Data Owner
à l'identité MSI pour vous assurer que le plug-in peut écrire des journaux dans le compte de stockage.
Le nom MSI affecté par l’utilisateur est répertorié dans la propriétémsiResourceId
dans le json de ressource du cluster. Découvrez comment attribuer un rôle.PartitionRetentionInDays supprime uniquement la partition de métadonnées de la table montée, elle ne supprime pas les données. Nettoyez les données en fonction de vos besoins si vous n’en avez plus besoin.
Gestion des métadonnées
Si l'utilisateur spécifie un nom de catalogue dans la propriété hiveCatalogName
, le plug-in monte les fichiers journaux stockés dans le compte de stockage en tant que des tables et des vues externes, qui peuvent être interrogées via Trino.
Le plug-in crée trois tables et trois vues, qui peuvent être utilisées pour interroger les événements de cycle de vie (QueryCompletedEvent
, QueryCreatedEvent
et SplitCompletedEVent
). Ces vues de tables & sont créées selon le catalogue et le schéma fournis par l'utilisateur.
Nom des tables :
-
querycompleted
: contient des événementsQueryCompleted
déclenchés par Trino. -
querycreated
: contientQueryCreatedEvents
déclenché par Trino. -
splitcompleted
: contientSplitCompletedEvents
, déclenché par Trino.
Nom des vues :
vquerycompleted
vquerycreated
vsplitcompleted
Note
Les utilisateurs sont encouragés à utiliser les vues car elles sont immunitaires aux modifications de schéma sous-jacentes et comptent pour la table décrite.
Archivage de table
Le plug-in prend en charge l’archivage de la (N-1)ᵉ table dans le cas où l’utilisateur décide de modifier la valeur de path
ou l’emplacement externe des journaux.
Si cela se produit, le plug-in renomme la table pointant vers l’ancien chemin comme <table_name>_archived, la vue créée unione le résultat des tables actuelles et archivées dans ce scénario.
Créer votre plug-in personnalisé
Vous pouvez également créer un plug-in d'écouteur d'événements personnalisé en suivant les instructions des docs, et déployer des plug-ins personnalisés en suivant les étapes de déploiement de plug-in .