Partager via


Référence de table système d’utilisation facturable

Cet article fournit une présentation de la table système d’utilisation facturable, comprenant le schéma et des exemples de requêtes. Avec les tables système, les données d'utilisation facturables de votre compte sont centralisées et acheminées vers toutes les régions, afin que vous puissiez visualiser l'utilisation globale de votre compte depuis la région dans laquelle se trouve votre espace de travail.

Pour plus d’informations sur l’utilisation de ce tableau pour surveiller les coûts des travaux, consultez Surveiller les coûts des travaux avec les tables système.

Pour connaître les stratégies d’analyse de l’utilisation serverless, consultez Surveiller le coût de calcul serverless.

Chemin d’accès de la table : cette table système se trouve à l’emplacement system.billing.usage.

Schéma du tableau d'utilisation facturable

La table système des utilisations facturables utilise le schéma suivant :

Nom de la colonne Type de données Description Exemple :
record_id string ID unique pour cet enregistrement 11e22ba4-87b9-4cc2
-9770-d10b894b7118
account_id string ID du compte pour lequel ce rapport a été généré 23e22ba4-87b9-4cc2
-9770-d10b894b7118
workspace_id string ID de l'espace de travail auquel cette utilisation était associée 1234567890123456
sku_name string Nom du SKU STANDARD_ALL_PURPOSE_COMPUTE
cloud string Cloud pour lequel cette utilisation est pertinente. Les valeurs possibles sont AWS, AZURE et GCP. AWS, AZURE ou GCP
usage_start_time timestamp L’heure de début pertinente pour cet enregistrement d’utilisation. Les informations de fuseau horaire sont enregistrées à la fin de la valeur, où +00:00 représente le fuseau horaire UTC. 2023-01-09 10:00:00.000+00:00
usage_end_time timestamp L’heure de fin pertinente pour cet enregistrement d’utilisation. Les informations de fuseau horaire sont enregistrées à la fin de la valeur, où +00:00 représente le fuseau horaire UTC. 2023-01-09 11:00:00.000+00:00
usage_date date Date de l'enregistrement d'utilisation, ce champ peut être utilisé pour une agrégation plus rapide par date 2023-01-01
custom_tags map Balises appliquées à cette utilisation. Inclut les balises de ressources de calcul, les balises de travail, les balises personnalisées de l’espace de travail et les balises de stratégie budgétaire. { “env”: “production” }
usage_unit string Unité dans laquelle cette utilisation est mesurée. Les valeurs possibles incluent les DBU. DBU
usage_quantity Décimal Nombre d'unités consommées pour cet enregistrement. 259.2958
usage_metadata struct Métadonnées fournies par le système sur l'utilisation, y compris les ID des ressources de calcul et des tâches (le cas échéant). Consultez Analyser les métadonnées d’utilisation. {cluster_id: null;
instance_pool_id: null;
notebook_id: null;
job_id: null;
node_type: null}
identity_metadata struct Métadonnées fournies par le système sur les identités impliquées dans l’utilisation. Consultez Analyser les métadonnées d’identité. {run_as: example@email.com}
record_type string Indique si l’enregistrement est d’origine, une rétraction ou un repos. La valeur est ORIGINAL sauf si l’enregistrement est lié à une correction. Consultez Analyser les enregistrements de correction. ORIGINAL
ingestion_date date Date à laquelle l’enregistrement a été ingéré dans la table usage. 2024-01-01
billing_origin_product string Produit à l’origine de l’utilisation. Certains produits peuvent être facturés comme références SKU différentes. Pour connaître les valeurs possibles, consultez Afficher des informations sur le produit associé à l’utilisation. JOBS
product_features struct Détails sur les fonctionnalités de produit spécifiques utilisées. Pour connaître les valeurs possibles, consultez Fonctionnalités du produit.
usage_type string Type d’utilisation attribué au produit ou à la charge de travail à des fins de facturation. Les valeurs possibles sont COMPUTE_TIME, STORAGE_SPACE, NETWORK_BYTES, API_OPERATION, TOKEN ou GPU_TIME. STORAGE_SPACE

Analyser les métadonnées d’utilisation.

Les valeurs de usage_metadata vous indiquent les ressources impliquées dans l’enregistrement d’utilisation.

Valeur Type de données Description
cluster_id string ID du cluster associé à l’enregistrement d’utilisation
warehouse_id string ID de l’entrepôt SQL associé à l’enregistrement d’utilisation
instance_pool_id string ID du pool d’instances associé à l’enregistrement d’utilisation
node_type string Type d’instance de la ressource de calcul
job_id string ID du travail associé à l’enregistrement d’utilisation. Retourne une valeur seulement pour le calcul serverless ou l’utilisation du calcul de tâches, sinon retourne null.
job_run_id string ID de l’exécution du travail associée à l’enregistrement d’utilisation. Retourne une valeur seulement pour le calcul serverless ou l’utilisation du calcul de tâches, sinon retourne null.
job_name string Le nom que l’utilisateur à donné à la tâche associée à l’enregistrement d’utilisation. Retourne une valeur seulement pour les tâches exécutées sur un calcul serverless, sinon retourne null.
notebook_id string ID du notebook associé à l’utilisation. Retourne une valeur seulement pour le calcul serverless pour l’utilisation du notebook, sinon retourne null.
notebook_path string Chemin de stockage de l’espace de travail du notebook associé à l’utilisation. Retourne une valeur seulement pour le calcul serverless pour l’utilisation du notebook, sinon retourne null.
dlt_pipeline_id string ID du pipeline Delta Live Tables associé à l’enregistrement d’utilisation
dlt_update_id string ID de la mise à jour du pipeline Delta Live Tables associé à l’enregistrement d’utilisation
dlt_maintenance_id string ID des tâches de maintenance du pipeline Delta Live Tables associé à l’enregistrement d’utilisation
run_name string Identificateur unique accessible par l’utilisateur du réglage précis du modèle Foundation associé à l’enregistrement d’utilisation
endpoint_name string Nom du point de terminaison de service du modèle ou du point de terminaison de recherche vectorielle associé à l’enregistrement d’utilisation
endpoint_id string ID du point de terminaison de service du modèle ou du point de terminaison de recherche vectorielle associé à l’enregistrement d’utilisation
central_clean_room_id string ID de la salle propre centrale associée à l’enregistrement d’utilisation

Analyser les métadonnées d’identité

La colonne identity_metadata peut vous aider à identifier qui est responsable d’un enregistrement de facturation serverless. La colonne inclut une valeur run_as qui attribue l’utilisation à une identité. L’identité enregistrée dans identity_metadata.run_as dépend du produit associé à l’utilisation.

Référencez le tableau suivant pour le comportement identity_metadata.run_as :

Type de charge de travail Identité de run_as
Jobs Compute L’utilisateur ou le principal de service défini dans le paramètre run_as. Par défaut, les travaux s’exécutent en tant qu’identité du propriétaire du travail, mais les administrateurs peuvent le modifier comme un autre utilisateur ou principal de service.
Calcul serverless pour les travaux L’utilisateur ou le principal de service défini dans le paramètre run_as. Par défaut, les travaux s’exécutent en tant qu’identité du propriétaire du travail, mais les administrateurs peuvent le modifier comme un autre utilisateur ou principal de service.
Calcul serverless pour les notebooks Utilisateur qui a exécuté les commandes du notebook (en particulier, l’utilisateur qui a créé la session de notebook). Pour les notebooks partagés, cela inclut l’utilisation par d’autres utilisateurs partageant la même session de notebook.
Pipelines Delta Live Tables Utilisateur dont les autorisations sont utilisées pour exécuter le pipeline Delta Live Tables. Cela peut être modifié en transférant la propriété du pipeline.
Réglage précis du modèle de base L’utilisateur ou le principal de service à l’origine de l’exécution du réglage fin de la formation.

Analyser les enregistrements de correction

Le tableau billing.usage prend en charge les corrections. Les corrections se produisent quand un champ de l’enregistrement d’utilisation est incorrect et doit être corrigé.

Lorsqu’une correction se produit, Azure Databricks ajoute deux nouveaux enregistrements à la table. Un enregistrement de rétractation annule l’enregistrement incorrect d’origine, puis un enregistrement de repos inclut les informations corrigées. Les enregistrements de correction sont identifiés à l’aide du champ record_type :

  • RETRACTION : utilisé pour négation de l’utilisation incorrecte d’origine. Tous les champs sont identiques à l’enregistrement ORIGINAL, à l’exception de usage_quantity, valeur négative qui annule la quantité d’utilisation d’origine. Par exemple, si la quantité d’utilisation de l’enregistrement d’origine était 259.4356, l’enregistrement de retrait aurait une quantité d’utilisation de -259.4356.
  • RESTATEMENT : enregistrement qui inclut les champs corrects et la quantité d’utilisation.

Par exemple, la requête suivante retourne la quantité d’utilisation horaire correcte liée à un job_id, même si des corrections ont été apportées. En agrégeant la quantité d’utilisation, l’enregistrement de rétractation annule l’enregistrement d’origine et seules les valeurs du repos sont retournées.

SELECT
  usage_metadata.job_id, usage_start_time, usage_end_time,
  SUM(usage_quantity) as usage_quantity
FROM system.billing.usage
GROUP BY ALL
HAVING usage_quantity != 0

Remarque

Pour les corrections où l’enregistrement d’utilisation d’origine n’a pas dû être écrit, une correction peut uniquement ajouter un enregistrement de rétractation et aucun enregistrement de repos.

Afficher des informations sur le produit associé à l’utilisation

Certains produits Databricks sont facturés sous la même référence SKU partagée. Pour vous aider à différencier l’utilisation, les colonnes billing_origin_product et product_features fournissent plus d’informations sur le produit et les fonctionnalités spécifiques associés à l’utilisation.

La colonne billing_origin_product affiche le produit Databricks associé à l’enregistrement d’utilisation. Les valeurs incluent :

  • JOBS
  • DLT
  • SQL
  • ALL_PURPOSE
  • MODEL_SERVING
  • INTERACTIVE
  • DEFAULT_STORAGE
  • VECTOR_SEARCH
  • LAKEHOUSE_MONITORING
  • PREDICTIVE_OPTIMIZATION
  • ONLINE_TABLES
  • FOUNDATION_MODEL_TRAINING

La colonne product_features est un objet contenant des informations sur les fonctionnalités de produit spécifiques utilisées et inclut les paires clé/valeur suivantes :

  • jobs_tier : les valeurs incluent LIGHT, CLASSIC ou null
  • sql_tier : les valeurs incluent CLASSIC, PRO ou null
  • dlt_tier : les valeurs incluent CORE, PRO, ADVANCED ou null
  • is_serverless : les valeurs incluent true ou false, ou null
  • is_photon : les valeurs incluent true ou false, ou null
  • serving_type : les valeurs incluent MODEL, GPU_MODEL, FOUNDATION_MODEL, FEATUREou null

Exemples de requêtes

Vous pouvez utiliser les exemples de requêtes suivants pour répondre aux questions courantes sur l'utilisation facturable :

Quelle est la tendance quotidienne de la consommation de DBU ?

SELECT
  usage_date as `Date`, sum(usage_quantity) as `DBUs Consumed`
FROM
  system.billing.usage
WHERE
  sku_name = "STANDARD_ALL_PURPOSE_COMPUTE"
GROUP BY
  usage_date
ORDER BY
  usage_date ASC

Combien d’unités de base de données de chaque produit ont été utilisées tout au long de ce mois -ci ?

SELECT
    billing_origin_product,
    usage_date,
    sum(usage_quantity) as usage_quantity
FROM system.billing.usage
WHERE
    month(usage_date) = month(NOW())
    AND year(usage_date) = year(NOW())
GROUP BY billing_origin_product, usage_date

Quelles tâches ont consommé le plus de DBU ?

SELECT
  usage_metadata.job_id as `Job ID`, sum(usage_quantity) as `Usage`
FROM
  system.billing.usage
WHERE
  usage_metadata.job_id IS NOT NULL
GROUP BY
  `Job ID`
ORDER BY
  `DBUs` DESC

Quelle utilisation peut être attribuée aux ressources présentant une certaine balise ?

Vous pouvez répartir les coûts de différentes manières. Cet exemple vous montre comment répartir les coûts par balise personnalisée. Assurez-vous de remplacer la clé et la valeur de la balise personnalisée dans la requête.

SELECT
  sku_name, usage_unit, SUM(usage_quantity) as `Usage`
FROM
  system.billing.usage
WHERE
  custom_tags.{{key}} = "{{value}}"
GROUP BY 1, 2

Me montrer les produits où l’utilisation augmente

SELECT
  after.billing_origin_product, before_dbus, after_dbus, ((after_dbus - before_dbus)/before_dbus * 100) AS growth_rate
FROM
  (SELECT
     billing_origin_product, sum(usage_quantity) as before_dbus
   FROM
     system.billing.usage
   WHERE
     usage_date BETWEEN "2023-04-01" and "2023-04-30"
   GROUP BY
     billing_origin_product
  ) as before
JOIN
  (SELECT
     billing_origin_product, sum(usage_quantity) as after_dbus
   FROM
     system.billing.usage
   WHERE
     usage_date
   BETWEEN
     "2023-05-01" and "2023-05-30"
   GROUP BY
     billing_origin_product
  ) as after
WHERE
  before.billing_origin_product = after.billing_origin_product
SORT BY
  growth_rate DESC

Quelle est la tendance d’utilisation de All Purpose Compute (Photon) ?

SELECT
  sku_name,
  usage_date,
  sum(usage_quantity) as `DBUs consumed`
FROM
  system.billing.usage
WHERE
  year(usage_date) = year(CURRENT_DATE)
AND
  sku_name = "ENTERPRISE_ALL_PURPOSE_COMPUTE_(PHOTON)"
AND
  usage_date > "2023-04-15"
GROUP BY
  sku_name, usage_date

Quelle est la consommation DBU d’une vue matérialisée ou d’une table de diffusion en continu ?

Pour obtenir les données d’utilisation et la référence SKU DBU d’une table de diffusion en continu ou d’affichage matérialisée spécifique, envoyez une requête à la table système d’utilisation facturable pour les enregistrements où usage_metadata.dlt_pipeline_id est défini sur l’ID du pipeline associé à la vue matérialisée ou à la table de diffusion en continu. Vous trouverez l’ID de pipeline sous l’onglet Détails de l’Explorateur de catalogues lors de l’affichage de la vue matérialisée ou de la table de diffusion en continu. Pour éventuellement limiter la consommation par date, spécifiez une date de début, une date de fin ou une plage de dates. La requête suivante récupère l’utilisation de DBU pour le pipeline avec l’ID 00732f83-cd59-4c76-ac0d-57958532ab5b et une date de début d’utilisation de 2023-05-30 :

SELECT
  sku_name,
  usage_date,
  SUM(usage_quantity) AS `DBUs`
FROM
  system.billing.usage
WHERE
  usage_metadata.dlt_pipeline_id = "00732f83-cd59-4c76-ac0d-57958532ab5b"
AND
  usage_start_time > "2023-05-30"
GROUP BY
  ALL

Quelle est la consommation DBU d’un pipeline DLT serverless ?

Pour obtenir les données d’utilisation et la référence SKU DBU d’un pipeline DLT serverless, envoyez une requête à la table système d’utilisation facturable pour les enregistrements où usage_metadata.dlt_pipeline_id est défini sur l’ID du pipeline. Vous trouverez l’ID de pipeline sous l’onglet Détails du pipeline lors de l’affichage d’un pipeline dans l’interface utilisateur de Delta Live Tables. Pour éventuellement limiter la consommation par date, spécifiez une date de début, une date de fin ou une plage de dates. La requête suivante récupère l’utilisation de DBU de décembre 2023 pour le pipeline avec l’ID 00732f83-cd59-4c76-ac0d-57958532ab5b.

SELECT
  sku_name,
  usage_date,
  SUM(usage_quantity) AS `DBUs`
FROM
  system.billing.usage
WHERE
  usage_metadata.dlt_pipeline_id = "00732f83-cd59-4c76-ac0d-57958532ab5b"
AND
  usage_start_time >= "2023-12-01"
AND
  usage_end_time < "2024-01-01"
GROUP BY
  ALL