Journalisation des requêtes
Remarque
Nous allons mettre hors service Azure HDInsight sur AKS le 31 janvier 2025. Avant le 31 janvier 2025, vous devrez migrer vos charges de travail vers Microsoft Fabric ou un produit Azure équivalent afin d’éviter leur arrêt brutal. Les clusters restants de votre abonnement seront arrêtés et supprimés de l’hôte.
Seul le support de base sera disponible jusqu’à la date de mise hors service.
Important
Cette fonctionnalité est disponible actuellement en mode Aperçu. Les Conditions d’utilisation supplémentaires pour les préversions de Microsoft Azure contiennent davantage de conditions légales qui s’appliquent aux fonctionnalités Azure en version bêta, en préversion ou ne se trouvant pas encore en disponibilité générale. Pour plus d’informations sur cette préversion spécifique, consultez les Informations sur la préversion d’Azure HDInsight sur AKS. Pour toute question ou pour des suggestions à propos des fonctionnalités, veuillez envoyer vos requêtes et leurs détails sur AskHDInsight, et suivez-nous sur la Communauté Azure HDInsight pour plus de mises à jour.
Trino prend en charge les écouteurs d’événements personnalisés qui peuvent être utilisés pour écouter les événements de 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 journalise les événements dans 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 lors de la création d’un cluster Trino en activant le catalogue Hive.
Vous pouvez activer la journalisation des requêtes intégrée 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 d’un modèle ARM.
Prérequis
- Un cluster Trino avec HDInsight sur AKS opérationnel.
- Créez un modèle ARM pour votre cluster.
- Examinez l’exemple complet de modèle ARM de cluster.
- Connaissance de la création et du 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 la section clusterProfile.trinoProfile.userTelemetrySpec
avec les propriétés suivantes dans votre modèle ARM de cluster.
Propriété | Description |
---|---|
path |
Chemin complet d’un répertoire utilisé comme racine pour capturer différents journaux de requête. |
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. Consultez 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. Le plug-in crée ce schéma s’il n’existe pas. 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 activer une journalisation des requêtes dans un cluster Trino. Ajoutez cet exemple de code 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.
Remarque
Le plug-in utilise l’identité managée affectée par l’utilisateur (MSI) liée au cluster pour s’authentifier auprès du stockage. Ajoutez l’accès
Contributor
etStorage Blob Data Owner
à l’identité MSI pour veiller à ce que le plug-in puisse écrire des journaux dans le compte de stockage.
Le nom de l’identité MSI affectée par l’utilisateur est listée dans la propriétémsiResourceId
dans le code JSON de la ressource de 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 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 écrits dans le compte de stockage en tant que tables et 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 et tables sont créées sous le catalogue et le schéma fournis en tant qu’entrée utilisateur.
Nom des tables :
querycompleted
: contient les événementsQueryCompleted
déclenchés par Trino.querycreated
: contient lesQueryCreatedEvents
déclenchés par Trino.splitcompleted
: contient lesSplitCompletedEvents
déclenchés par Trino.
Nom des vues :
vquerycompleted
vquerycreated
vsplitcompleted
Remarque
Les utilisateurs sont encouragés à utiliser les vues, car elles sont immunisées contre les modifications de schéma sous-jacentes et associées à la table décrite.
Archivage de table
Le plug-in prend en charge l’archivage au niveau (N-1)ième table dans le scénario où l’utilisateur décide de modifier le path
ou l’emplacement externe des journaux.
Si cela se produit, le plug-in renomme la table pointant vers l’ancien chemin <nom_table>_archived. Dans ce scénario, la vue créée une union du résultat des tables actuelles et archivées.
Créer votre modèle personnalisé
Vous pouvez également créer un plug-in d’écouteur d’événements personnalisé. Suivez les instructions fournies dans la documentation. Pour déployer des plug-ins personnalisés, suivez les étapes de déploiement de plug-in.