Referenz zur Systemtabelle für abrechnungsfähigen Verbrauch

Dieser Artikel bietet eine Übersicht über die Systemtabelle für den abrechenbaren Verbrauch, einschließlich des Schemas und Beispielabfragen. Mit Systemtabellen werden die Daten zum abrechenbaren Verbrauch Ihres Kontos zentralisiert und an alle Regionen weitergeleitet, sodass Sie den globalen Verbrauch Ihres Kontos in jeder Region, in der sich Ihr Arbeitsbereich befindet, anzeigen können.

Informationen zur Verwendung dieser Tabelle zur Überwachung der Auftragskosten finden Sie unter Überwachen von Auftragskosten mit Systemtabellen.

Strategien zur Analyse der serverlosen Nutzung finden Sie unter Überwachen der Kosten für serverloses Berechnen.

Tabellenpfad: Diese Systemtabelle befindet sich unter system.billing.usage.

Schema der Tabelle für den abrechenbaren Verbrauch

Die Systemtabelle für den abrechenbaren Verbrauch verwendet das folgende Schema:

Spaltenname Datentyp Beschreibung Beispiel
record_id Zeichenfolge Eindeutige ID für diesen Datensatz 11e22ba4-87b9-4cc2
-9770-d10b894b7118
account_id Zeichenfolge ID des Kontos, für das dieser Bericht generiert wurde 23e22ba4-87b9-4cc2
-9770-d10b894b7118
workspace_id Zeichenfolge ID des Arbeitsbereichs, dem dieser Verbrauch zugeordnet war 1234567890123456
sku_name Zeichenfolge Name der SKU STANDARD_ALL_PURPOSE_COMPUTE
cloud Zeichenfolge Cloud, für die dieser Verbrauch relevant ist. Mögliche Werte sind AWS, AZURE und GCP. AWS, AZUREoder GCP
usage_start_time Zeitstempel Die Startzeit, die für diesen Verbrauchsdatensatz relevant ist Zeitzoneninformationen werden am Ende des Werts aufgezeichnet, wobei +00:00 die Zeitzone „UTC“ darstellt. 2023-01-09 10:00:00.000+00:00
usage_end_time Zeitstempel Die Endzeit, die für diesen Verbrauchsdatensatz relevant ist Zeitzoneninformationen werden am Ende des Werts aufgezeichnet, wobei +00:00 die Zeitzone „UTC“ darstellt. 2023-01-09 11:00:00.000+00:00
usage_date date Datum des Verbrauchsdatensatzes, dieses Feld kann für eine schnellere Aggregation nach Datum verwendet werden 2023-01-01
custom_tags Karte Tags, die auf diese Verwendung angewendet werden. Umfasst Computeressourcentags, Auftragstags, benutzerdefinierte Arbeitsbereichstags und Budgetrichtlinientags. { “env”: “production” }
usage_unit Zeichenfolge Einheit, in der dieser Verbrauch gemessen wird. Zu den möglichen Werten gehören Databricks-Einheiten (DBU). DBU
usage_quantity Decimal Anzahl der für diesen Datensatz verbrauchten Einheiten. 259.2958
usage_metadata struct Vom System bereitgestellte Metadaten zum Verbrauch, einschließlich IDs für Computeressourcen und Aufträge (falls zutreffend). Siehe Analysieren von Nutzungsmetadaten. {cluster_id: null;
instance_pool_id: null;
notebook_id: null;
job_id: null;
node_type: null}
identity_metadata struct Vom System bereitgestellte Metadaten zu den Identitäten, die an der Verwendung beteiligt sind. Siehe "Analysieren von Identitätsmetadaten". {run_as: example@email.com}
record_type Zeichenfolge Ob der Datensatz das Original, eine Rücknahme oder eine Neudarstellung ist. Der Wert ist ORIGINAL, es sei denn, der Datensatz bezieht sich auf eine Korrektur. Siehe Analysieren von Korrekturdatensätzen. ORIGINAL
ingestion_date date Datum, an dem der Datensatz in der Tabelle usage erfasst wurde 2024-01-01
billing_origin_product Zeichenfolge Das Produkt, das den Verbrauch ausgelöst hat. Einige Produkte können als unterschiedliche SKUs in Rechnung gestellt werden. Mögliche Werte finden Sie unter Anzeigen von Informationen zum Produkt, das einem Verbrauch zugeordnet ist. JOBS
product_features struct Details zu den spezifischen verwendeten Produktfeatures. Mögliche Werte finden Sie unter Produktfeatures.
usage_type Zeichenfolge Der Verbrauchstyp, der dem Produkt oder der Workload für Abrechnungszwecke zugeordnet ist. Mögliche Werte sind COMPUTE_TIME, STORAGE_SPACE, NETWORK_BYTES, API_CALLS, TOKEN oder GPU_TIME. STORAGE_SPACE

Analysieren von Nutzungsmetadaten

Die Werte in usage_metadata informieren Sie über die Ressourcen, die am Verwendungsdatensatz beteiligt sind.

Wert Datentyp Beschreibung
cluster_id string ID des Clusters, der dem Verwendungsdatensatz zugeordnet ist
warehouse_id Zeichenfolge ID des SQL-Warehouses, das dem Nutzungsdatensatz zugeordnet ist
instance_pool_id Zeichenfolge ID des Instanzpools, der dem Verwendungsdatensatz zugeordnet ist
node_type Zeichenfolge Der Instanztyp der Computeressource
job_id Zeichenfolge ID des Auftrags, der dem Nutzungsdatensatz zugeordnet ist Gibt nur für serverloses Computing für die Jobs Compute-Nutzung einen Wert zurück. Andernfalls wird null zurückgegeben.
job_run_id Zeichenfolge ID der Auftragsausführung, die dem Nutzungsdatensatz zugeordnet ist Gibt nur für serverloses Computing für die Jobs Compute-Nutzung einen Wert zurück. Andernfalls wird null zurückgegeben.
job_name Zeichenfolge Benutzerdefinierter Name des Auftrags, der dem Nutzungsdatensatz zugeordnet ist. Gibt nur bei Aufträgen, die auf serverloses Computing ausgeführt werden, null zurück, ansonsten wird .
notebook_id Zeichenfolge ID des Notebooks, das dem Verbrauch zugeordnet ist. Gibt nur für serverloses Computing für die Notebooknutzung einen Wert zurück. Andernfalls wird null zurückgegeben.
notebook_path Zeichenfolge Arbeitsbereichsspeicherpfad des Notebooks, das der Verwendung zugeordnet ist. Gibt nur für serverloses Computing für die Notebooknutzung einen Wert zurück. Andernfalls wird null zurückgegeben.
dlt_pipeline_id Zeichenfolge ID der Delta Live Tables-Pipeline, die dem Verwendungsdatensatz zugeordnet ist
dlt_update_id Zeichenfolge ID des Delta Live Tables-Pipeline-Updates, das dem Nutzungsdatensatz zugeordnet ist
dlt_maintenance_id Zeichenfolge ID der Delta Live Tables-Pipeline-Wartungsaufgabe, die dem Nutzungsdatensatz zugeordnet ist
run_name Zeichenfolge Eindeutiger benutzerseitiger Bezeichner der Optimierungsausführung von Mosaic AI Model Training, der dem Nutzungsdatensatz zugeordnet ist
endpoint_name Zeichenfolge Der Name des Modellbereitstellungsendpunkts oder Vektorsuchendpunkts, der dem Nutzungsdatensatz zugeordnet ist
endpoint_id Zeichenfolge ID des Modellbereitstellungsendpunkts oder Vektorsuchendpunkts, der dem Nutzungsdatensatz zugeordnet ist
central_clean_room_id Zeichenfolge ID des zentralen Reinraums, der dem Verwendungsdatensatz zugeordnet ist

Analysieren von Identitätsmetadaten

In der identity_metadata Spalte können Sie ermitteln, wer für einen serverlosen Abrechnungsdatensatz verantwortlich ist. Die Spalte enthält einen run_as Wert, der die Verwendung einer Identität zuordnet. Die in identity_metadata.run_as aufgezeichnete Identität hängt von dem Produkt ab, das der Verwendung zugeordnet ist.

Verweisen Sie auf die folgende Tabelle für das identity_metadata.run_as Verhalten:

Workloadtyp Identität von run_as
Jobs Compute Der in der run_as-Einstellung definierte Benutzer- oder Dienstprinzipal. Standardmäßig werden Aufträge als Identität des Auftragsbesitzers ausgeführt, Administratoren können dies jedoch als einen anderen Benutzer oder Dienstprinzipal ändern.
Serverloses Computing für Aufträge Der in der run_as-Einstellung definierte Benutzer- oder Dienstprinzipal. Standardmäßig werden Aufträge als Identität des Auftragsbesitzers ausgeführt, Administratoren können dies jedoch als einen anderen Benutzer oder Dienstprinzipal ändern.
Serverlose Berechnung für Notebooks Der Benutzer, der die Notebookbefehle ausgeführt hat (insbesondere der Benutzer, der die Notebooksitzung erstellt hat). Bei freigegebenen Notebooks umfasst dies die Verwendung anderer Benutzer, die dieselbe Notebooksitzung nutzen.
Delta Live Tables-Pipelines Der Benutzer, dessen Berechtigungen zum Ausführen der Delta Live Tables-Pipeline verwendet werden. Dies kann durch Übertragung des Besitzes der Pipeline geändert werden.
Training von Mosaic AI-Modellen Der Benutzer oder Dienstprinzipal, der die Trainingsausführung für die Optimierung initiiert hat.

Analysieren von Korrekturdatensätzen

Die billing.usage-Tabelle unterstützt Korrekturen. Korrekturen kommen vor, wenn ein Feld des Nutzungsdatensatzes falsch ist und korrigiert werden muss.

Im Fall einer Korrektur fügt Azure Databricks zwei neue Datensätze zur Tabelle hinzu. Ein Rücknahmedatensatz negiert den falschen Originaldatensatz, und dann nimmt ein Neudarstellungsdatensatz die korrigierten Informationen auf. Korrekturdatensätze werden über das record_type-Feld gekennzeichnet:

  • RETRACTION: Dient zum Negieren der ursprünglich falschen Nutzung. Alle Felder sind mit dem ORIGINAL-Datensatz identisch, mit Ausnahme von usage_quantity, einem negativen Wert, der die ursprüngliche Nutzungsmenge aufhebt. Wenn z. B. die Nutzungsmenge des Originaldatensatzes 259.4356 war, hätte der Rücknahmedatensatz eine Nutzungsmenge von -259.4356.
  • RESTATEMENT: Der Datensatz, der die richtigen Felder und Nutzungsmengen enthält.

Die folgende Abfrage gibt z. B. die richtige stündliche Nutzungsmenge in Bezug auf job_id zurück, auch wenn Korrekturen vorgenommen wurden. Durch das Aggregieren der Nutzungsmenge wird der Originaldatensatz vom Rücknahmedatensatz negiert, und nur die Werte der Neudarstellung werden zurückgegeben.

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

Hinweis

Bei Korrekturen, bei denen der Original-Nutzungsdatensatz nicht hätte geschrieben werden sollen, kann durch eine Korrektur nur ein Rücknahmedatensatz und kein Neudarstellungsdatensatz hinzugefügt werden.

Anzeigen von Informationen zum Produkt, das einem Verbrauch zugeordnet ist

Einige Databricks-Produkte werden unter einer gemeinsamen SKU in Rechnung gestellt. Um einen Verbrauch zu unterscheiden, bieten die Spalten billing_origin_product und product_features zusätzliche Erkenntnisse zum jeweiligen und den Features, die dem Verbrauch zugeordnet sind.

Die Spalte billing_origin_product enthält das Databricks-Produkt an, das dem Verbrauchsdatensatz zugeordnet ist. Hierzu gehören folgende Werte:

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

Die Spalte product_features ist ein Objekt, das Informationen zu den verwendeten Produktfeatures und die folgenden Schlüssel-Wert-Paare enthält:

  • jobs_tier: zu den Werten gehören LIGHT, CLASSIC oder null
  • sql_tier: zu den Werten gehören CLASSIC, PRO oder null
  • dlt_tier: zu den Werten gehören CORE, PRO, ADVANCED oder null
  • is_serverless: zu den Werten gehören true oder false oder null
  • is_photon: zu den Werten gehören true oder false oder null
  • serving_type: zu den Werten gehören MODEL, GPU_MODEL, FOUNDATION_MODEL, FEATURE oder null

Beispielabfragen

Sie können die folgenden Beispielabfragen verwenden, um häufig gestellte Fragen zum abrechenbaren Verbrauch zu beantworten:

Wie sieht der tägliche Trend beim DBU-Verbrauch aus?

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

Wie viele DBUs jedes Produkts wurden in diesem Monat verwendet?

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

Welche Aufträge verbrauchten die meisten DBUs?

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

Wie viel Verbrauch kann Ressourcen mit einem spezifischen Tag zugeordnet werden?

Sie können die Kosten auf verschiedene Weise aufschlüsseln. In diesem Beispiel wird gezeigt, wie Sie die Kosten nach einem benutzerdefinierten Tag aufschlüsseln können. Vergessen Sie nicht, den Schlüssel und Wert des benutzerdefinierten Tags in der Abfrage zu ersetzen.

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

Zeigen Sie mir die Produkte an, bei denen die Nutzung wächst

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

Wie ist der Verbrauchstrend von 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

Was ist der DBU-Verbrauch einer materialisierten Ansichts- oder Streamingtabelle?

Um die DBU-Nutzung und SKU für eine bestimmte materialisierte Ansicht oder Streaming-Tabelle abzurufen, übermitteln Sie eine Abfrage an die Systemtabelle für abrechenbare Nutzung für Datensätze, bei der usage_metadata.dlt_pipeline_id auf die ID der mit der materialisierten Ansicht oder Streaming-Tabelle verbundenen Pipeline gesetzt ist. Sie finden die Pipeline-ID auf der Registerkarte Details beim Anzeigen der materialisierten Sicht oder Streamingtabelle im Katalog-Explorer. Wenn Sie optional den Verbrauch nach Datum begrenzen möchten, geben Sie ein Startdatum, ein Enddatum oder einen Datumsbereich an. Die folgende Abfrage ruft die DBU-Nutzung für die Pipeline mit der ID 00732f83-cd59-4c76-ac0d-57958532ab5b und einem Nutzungsbeginndatum von 2023-05-30 ab:

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

Was ist der DBU-Verbrauch einer serverlosen DLT-Pipeline?

Um die DBU-Nutzung und SKU für eine serverlose DLT-Pipeline abzurufen, übermitteln Sie eine Abfrage an die Systemtabelle der abrechenbaren Nutzung für Datensätze, wobei usage_metadata.dlt_pipeline_id auf die ID der Pipeline gesetzt ist. Sie finden die Pipeline-ID auf der Registerkarte Pipelinedetails, wenn Sie eine Pipeline in der Delta Live Tables-Benutzeroberfläche anzeigen. Wenn Sie optional den Verbrauch nach Datum begrenzen möchten, geben Sie ein Startdatum, ein Enddatum oder einen Datumsbereich an. Die folgende Abfrage ruft die DBU-Verwendung ab Dezember 2023 für die Pipeline mit ID 00732f83-cd59-4c76-ac0d-57958532ab5b ab.

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