Share via


Surveiller l’utilisation avec des tables système

Important

Cette fonctionnalité est disponible en préversion publique. Il n’existe actuellement aucun frais pour utiliser cette fonctionnalité. À l’avenir, certaines de ces utilisations peuvent entraîner des frais.

Cet article explique le concept des tables système dans Azure Databricks et met l’accent sur les ressources que vous pouvez utiliser pour tirer le meilleur parti des données de vos tables système.

Que sont les tables système ?

Les tables système sont un magasin analytique hébergé par Azure Databricks des données opérationnelles de votre compte qui se trouvent dans le catalogue system. Les tables système peuvent être utilisées pour l’observabilité historique de votre compte.

Remarque

Pour obtenir de la documentation sur system.information_schema, consultez Schéma d’informations.

Spécifications

Pour accéder aux tables système, votre espace de travail doit être activé pour le catalogue Unity. Pour plus d’informations, consultez Activer les schémas de table système.

Quelles sont les tables système disponibles ?

Azure Databricks héberge actuellement des tables système pour :

Table Description Emplacement Prend en charge la diffusion en continu Rétention Inclut les données globales ou régionales
Journaux d’audit Inclut des enregistrements pour tous les événements d’audit provenant des espaces de travail de votre région. Pour obtenir la liste des événements d’audit disponibles, consultez Référence du journal de diagnostic. system.access.audit Oui 365 jours Régionales pour les événements au niveau de l’espace de travail. Globales pour les événements au niveau du compte.
Traçabilité de la table Inclut un enregistrement pour chaque événement de lecture ou d’écriture sur une table ou un chemin d’accès Unity Catalog. system.access.table_lineage Oui 365 jours Zones géographiques
Traçabilité des colonnes Inclut un enregistrement pour chaque événement de lecture ou d’écriture sur une colonne de Unity Catalog (mais n’inclut pas d’événements qui n’ont pas de source). system.access.column_lineage Oui 365 jours Zones géographiques
Utilisation facturable Inclut des enregistrements pour toutes les utilisations facturables sur votre compte. Chaque enregistrement d’utilisation est un agrégat horaire de l’utilisation facturable d’une ressource. system.billing.usage Oui 365 jours Global
Tarification Journal historique de la tarification de la référence SKU. Un enregistrement est ajouté chaque fois que le prix d’une référence SKU change. system.billing.list_prices Non N/A Global
Clusters Table de dimension à variation lente qui contient l’historique complet des configurations de cluster au fil du temps pour tous les clusters. system.compute.clusters Oui Aucun Zones géographiques
Types de nœuds Capture les types de nœud actuellement disponibles avec leurs informations matérielles de base. system.compute.node_types Non N/A Zones géographiques
Événements d’entrepôts SQL Capture les événements liés aux entrepôts SQL. Par exemple, le démarrage, l’arrêt, l’exécution, le scale-up et le scale-down. system.compute.warehouse_events Oui 365 jours Zones géographiques
Événements de synthèse de la Place de marché Inclut les données d’impression du consommateur et de synthèse pour vos annonces. system.marketplace.listing_

funnel_events
Oui 365 jours Zones géographiques
Accès aux listings de la Place de marché Inclut les informations du consommateur pour les événements terminés request data ou get data sur vos listings. system.marketplace.listing_

access_events
Oui 365 jours Zones géographiques
Optimisation prédictive Suit l’historique des opérations de la fonction d’optimisation prédictive. system.storage.predictive_

optimization_operations_history
Non 180 jours Zones géographiques

Remarque

Vous pouvez voir d’autres tables système dans votre compte en plus de celles répertoriées ci-dessus. Ces tables sont actuellement en préversion privée et sont vides par défaut. Si vous souhaitez utiliser l’une de ces tables, contactez l’équipe de votre compte Databricks.

Activer les schémas de table système

Les tables système étant régies par Unity Catalog, vous devez disposer d’au moins un espace de travail avec Unity Catalog dans votre compte pour activer les tables système et y accéder. Les tables système incluent des données de tous les espaces de travail de votre compte, mais elles ne sont accessibles que depuis un espace de travail avec Unity Catalog.

Les tables système sont activées au niveau du schéma. Si vous activez un schéma système, vous activez toutes ses tables. Lorsque de nouveaux schémas sont publiés, un administrateur de compte doit activer manuellement le schéma.

Les tables système doivent être activées par un administrateur de compte. Vous pouvez activer les tables système à l’aide de l’API SystemSchemas.

Lister les schémas système disponibles

Utilisez la commande curl suivante pour lister les schémas système disponibles :

curl -v -X GET -H "Authorization: Bearer <PAT Token>" "https://adb-<xxx>.azuredatabricks.net/api/2.0/unity-catalog/metastores/<metastore-id>/systemschemas"

Voici un exemple de sortie de la commande GET :

{"schemas":[{"schema":"access","state":"<AVAILABLE OR EnableCompleted>"},{"schema":"billing","state":"<AVAILABLE OR EnableCompleted>"},{"schema":"information_schema","state":"<AVAILABLE OR EnableCompleted>"}]}

state: AVAILABLE : le schéma système est disponible mais n’a pas encore été activé.

state: EnableCompleted : vous avez activé le schéma système et il est visible dans Catalog Explorer.

Activer un schéma système

Utilisez la commande curl suivante pour activer un schéma système :

curl -v -X PUT -H "Authorization: Bearer <PAT Token>" "https://adb-<xxx>.azuredatabricks.net/api/2.0/unity-catalog/metastores/<metastore-id>/systemschemas/<SCHEMA_NAME>"

Si le schéma système est correctement activé, le code de résultat 200 est retourné.

Si vous tentez de réactiver un schéma système, "error_code":"SCHEMA_ALREADY_EXISTS","message":"Schema <schema-name> already exists" est retourné.

Désactiver un schéma système

Utilisez la commande curl suivante pour désactiver un schéma système :

curl -v -X DELETE -H "Authorization: Bearer <PAT Token>" "https://adb-<xxx>.azuredatabricks.net/api/2.0/unity-catalog/metastores/<metastore-id>/systemschemas/<SCHEMA_NAME>"

Octroyer un accès aux tables système

L’accès à la table système est régi par Unity Catalog. Par défaut, aucun utilisateur n’a accès aux tables système. Pour accorder l’accès, un administrateur de metastore ou un autre utilisateur privilégié doit accorder les autorisations USE et SELECT sur les schémas système. Consultez Gérer les privilèges dans Unity Catalog.

Les tables système sont en lecture seule et ne peuvent pas être modifiées.

Remarque

Si votre compte a été créé après le 9 novembre 2023, vous n’avez peut-être pas le rôle d’administrateur de metastore par défaut. Pour plus d’informations, consultez Configurer et gérer Unity Catalog.

Les tables système contiennent-elles des données de tous les espaces de travail de votre compte ?

Le journal d’audit et les tables de traçabilité contiennent des données opérationnelles de tous les espaces de travail de votre compte déployés dans la même région cloud. La table système facturation (system.billing.usage) contient des données de tous les espaces de travail de votre compte, quelle que soit la région dans laquelle ils sont déployés.

Même si les tables système sont accessibles uniquement par le biais d’un espace de travail Unity Catalog, elles incluent également des données opérationnelles pour les espaces de travail non-Unity Catalog de votre compte.

Où se trouvent les tables système ?

Les tables système de votre compte se trouvent dans un catalogue appelé system, qui est inclus dans chaque metastore Unity Catalog. Dans le catalogue system, vous verrez des schémas tels que access et billing qui contiennent les tables système.

Remarque

Pendant la préversion publique des tables système, Azure Databricks conserve toutes les données de vos tables système.

Considérations relatives à la diffusion en continu de tables système

L’accès aux tables système est pris en charge par Delta Sharing. Tenez compte des considérations suivantes lors de la diffusion en continu avec Delta Sharing :

  • Si vous utilisez la diffusion en continu avec des tables système, définissez l’option skipChangeCommitsur true. Cela garantit que le travail de diffusion en continu n’est pas perturbé par les suppressions dans les tables système. Consultez Ignorer les mises à jour et les suppressions.
  • Trigger.AvailableNow n’est pas pris en charge avec la diffusion en continu Delta Sharing. Il sera converti en Trigger.Once.
  • Si vous utilisez un déclencheur dans votre travail de diffusion en continu et que le travail ne rattrape pas la dernière version de la table système, Databricks recommande d’augmenter la fréquence planifiée du travail.

Problèmes connus

  • Actuellement, aucune prise en charge de la supervision en temps réel. Les données sont mises à jour tout au long de la journée. Si vous ne voyez pas de journal pour un évènement récent, vérifiez plus tard.

  • Pour activer les tables système, vous devrez peut-être accorder l’accès réseau au point de terminaison Stockage Blob des tables système. Pour afficher la liste du point de terminaison de stockage des tables système de chaque région, consultez Adresses IP des points de terminaison de stockage.

  • Les schémas système system.operational_data et system.lineage sont déconseillés et contiendront des tables vides.