Ce produit n'est pas pris en charge par le
site Datadog que vous avez sélectionné. (
).
Présentation
L’intégration Databricks connecte Datadog à votre espace de travail Databricks pour synchroniser les métadonnées et les métriques au niveau des tables. Utilisez-la pour surveiller la fraîcheur des données, détecter les anomalies et tracer le lignage dans votre pile de données.
Remarque : Les instructions ci-dessous concernent Quality Monitoring. Pour Jobs Monitoring, consultez Activez Data Observability : Jobs Monitoring pour Databricks.
Prérequis
Si votre espace de travail Databricks restreint l’accès réseau par IP, ajoutez les IP du webhook Datadog à votre liste d’autorisation. Pour la liste des IP, consultez la section webhooks de IP ranges list.
Configurez votre compte dans Databricks
Étape 1 - Connectez la tuile d’intégration Databricks
Suivez les instructions d’installation dans la documentation de l’intégration Databricks en utilisant la tuile d’intégration Datadog. Prenez note de l’ID d’application du principal de service et enregistrez-le dans un endroit sûr, car il sera référencé ultérieurement.
Remarque : Les autorisations d’administrateur d’espace de travail ne sont pas requises pour Quality Monitoring.
Lors de la configuration de l’intégration, activez le commutateur Data Observability.
Cliquez sur Save Databricks Workspace.
Étape 2 - Accordez l’accès
Dans Databricks, ouvrez le SQL Editor pour exécuter les commandes suivantes. Utilisez l’ID d’application (client) du principal de service, et non son nom d’affichage, partout où <application_id> apparaît.
Tout d’abord, accordez l’accès aux schémas système pour le lignage :
GRANT USE CATALOG ON CATALOG system TO `<application_id>`;
GRANT USE SCHEMA ON CATALOG system TO `<application_id>`;
GRANT SELECT ON CATALOG system TO `<application_id>`;
Ces autorisations couvrent l’intégralité du catalogue system, qui inclut la table système de l’historique des requêtes (system.query.history). Datadog lit l’historique des requêtes à partir de cette table pour établir le lignage entre vos tables et vous donner une visibilité sur les requêtes qui s’exécutent sur celles-ci. Pour lire le texte de la requête dans cette table, le principal de service a également besoin de l’appartenance au groupe décrite à l’Étape 3.
Ensuite, accordez un accès en lecture seule au périmètre des données que vous souhaitez surveiller :
Utilisez l’option d’accès complet au catalogue pour une configuration plus simple. Il inclut automatiquement les futures tables sans avoir besoin de mettre à jour les autorisations.
GRANT USE CATALOG ON CATALOG <catalog_name> TO `<application_id>`;
GRANT USE SCHEMA ON CATALOG <catalog_name> TO `<application_id>`;
GRANT SELECT ON CATALOG <catalog_name> TO `<application_id>`;
Utilisez l’option des tables spécifiques pour respecter le principe du moindre privilège, ou si vous n’avez besoin de surveiller qu’un sous-ensemble de vos données. Vous devez mettre à jour les autorisations lors de l’ajout de nouvelles tables.
GRANT USE CATALOG ON CATALOG <catalog_name> TO `<application_id>`;
GRANT USE SCHEMA ON SCHEMA <catalog_name>.<schema_name> TO `<application_id>`;
GRANT SELECT ON TABLE <catalog_name>.<schema_name>.<table_name> TO `<application_id>`;
Ces autorisations sont nécessaires pour les raisons suivantes :
GRANT USE CATALOG est requis pour naviguer dans le catalogue et découvrir les schémas.GRANT USE SCHEMA est requis pour énumérer les tables et surveiller l’état de santé au niveau du schéma.GRANT SELECT est requis pour la surveillance de la qualité des données, telle que le SQL personnalisé ou les vérifications de distribution.
Étape 3 - Accorder l’accès au texte de la requête
Databricks masque le texte des requêtes SQL pour tout principal qui n’est pas administrateur de compte ou membre du groupe databricks_pii_access au niveau du compte. Pour un principal masqué, le texte de la requête est renvoyé sous la forme <Redacted> dans la colonne statement_text de system.query.history, l’API d’historique des requêtes, l’API de liste des requêtes et les événements de log d’audit qui capturent le texte des instructions SQL.
Ajoutez le principal de service à databricks_pii_access pour utiliser les fonctionnalités suivantes, qui lisent le texte des requêtes :
- Lignage des données : Complété par le parsing du texte des requêtes à partir de l’historique des requêtes Databricks.
- Surveillance des jobs serverless Databricks : Surveillance des jobs qui s’exécutent sur calcul serverless, où aucun Datadog Agent ne s’exécute sur le cluster.
- Surveillance des entrepôts SQL et des requêtes : Visibilité sur les requêtes exécutées sur vos entrepôts SQL et recommandations d’optimisation générées par Datadog.
Les métriques au niveau de la table, telles que la fraîcheur, le nombre de lignes et les statistiques de colonnes, lisent les données et les métadonnées de la table plutôt que le texte de la requête ; elles fonctionnent donc sans cette appartenance.
L’appartenance au groupe est requise en plus des system octrois de catalogue dans l’étape 2. Un principal qui fait partie du groupe mais qui ne dispose pas de SELECT sur CATALOG system ne peut toujours pas lire l’historique des requêtes.
Pour créer le groupe et ajouter le principal de service :
- Le groupe
databricks_pii_access n’existe pas par défaut dans un compte Databricks, et les administrateurs d’espace de travail n’en sont pas membres automatiquement. Créez-le avec le nom exact databricks_pii_access, qui est sensible à la casse.- Si vous ne gérez pas les groupes avec SCIM ou un fournisseur d’identité externe, accédez à Account Console > User Management > Groups > Add Group.
- Si vous gérez les groupes avec SCIM ou un fournisseur d’identité externe, créez plutôt le groupe à cet endroit.
- Ajoutez le principal de service de l’étape 1 au groupe.
Pour plus de détails, consultez la documentation Databricks sur la gestion des groupes au niveau du compte.
Étapes suivantes
Une fois l’intégration configurée, Datadog commence à synchroniser vos métadonnées et votre lignage au niveau des colonnes en arrière-plan. Les synchronisations initiales peuvent prendre plusieurs heures selon la taille de votre déploiement Databricks.
Une fois la synchronisation initiale terminée, créez un monitor Data Observability pour commencer à recevoir des alertes sur la fraîcheur, le nombre de lignes, les métriques au niveau des colonnes et les métriques SQL personnalisées.
Pour aller plus loin
Documentation, liens et articles supplémentaires utiles: