Freigeben über


Referenz zur Systemtabelle für abrechnungsfähigen Verbrauch

Wichtig

Dieses Feature befindet sich in der Public Preview.

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.

Schema der Tabelle für den abrechenbaren Verbrauch

Die Systemtabelle für den abrechenbaren Verbrauch befindet sich in system.billing.usage und 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 von den Benutzer*innen auf diesen Verbrauch angewendet werden. Umfasst Computeressourcentags, Auftragstags und benutzerdefinierte Arbeitsbereichstags. { “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 Gibt an, ob der Datensatz eine Korrektur ist. Mögliche Werte sind ORIGINAL, RETRACTION und RESTATEMENT. 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 string ID des SQL-Warehouses, das dem Nutzungsdatensatz zugeordnet ist
instance_pool_id string ID des Instanzpools, der dem Verwendungsdatensatz zugeordnet ist
node_type string Der Instanztyp der Computeressource
job_id string ID des Auftrags, der dem Nutzungsdatensatz zugeordnet ist Dieser Wert enthält eine job_id nur für serverloses Computing oder die Verwendung eines Auftragclusters. Andernfalls wird kein job_id Wert festgelegt, und Abfragen für den Wert ergeben NULL.
job_run_id string ID der Auftragsausführung, die dem Nutzungsdatensatz zugeordnet ist Gibt nur für serverloses Computing für die Auftragsclusternutzung einen Wert zurück. Andernfalls wird NULL zurückgegeben.
notebook_id string 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.
dlt_pipeline_id string ID der Delta Live Tables-Pipeline, die dem Verwendungsdatensatz zugeordnet ist
run_name string Eindeutiger benutzerseitiger Bezeichner der Optimierungsausführung von Mosaic AI Model Training, der dem Nutzungsdatensatz zugeordnet ist

Suchen eines Auftrags oder Notebooks auf der Benutzeroberfläche mithilfe der job_id oder notebook_id

In diesen Anweisungen wird erläutert, wie Sie einen bestimmten Auftrag oder ein Notebook auf der Benutzeroberfläche basierend auf ihrer ID abrufen.

So suchen Sie einen Auftrag auf der Benutzeroberfläche basierend auf deren job_id:

  1. Kopieren Sie den job_id aus dem Verwendungsdatensatz. Gehen Sie in diesem Beispiel davon aus, dass die ID 700809544510906 ist.
  2. Navigieren Sie zur Workflow-Benutzeroberfläche im gleichen Azure Databricks-Arbeitsbereich wie der Auftrag.
  3. Stellen Sie sicher, dass das Filter Nur Aufträge, die mir gehören deaktiviert ist.
  4. Fügen Sie die ID (700809544510906) in die Suchleiste für Filteraufträge ein.

Verwenden Sie die folgenden Anweisungen, um ein Notizbuch auf der Benutzeroberfläche basierend auf dem notebook_idzu finden:

  1. Kopieren Sie den notebook_id Aus dem Verwendungsdatensatz. Gehen Sie in diesem Beispiel davon aus, dass die ID 700809544510906 ist.
  2. Navigieren Sie zur Arbeitsbereichsbenutzeroberfläche im gleichen Azure Databricks-Arbeitsbereich wie das Notebook.
  3. klicken Sie auf ein beliebiges Notebook, das angezeigt wird.
  4. Nachdem Sie das Notebook geöffnet haben, überprüfen Sie die URL in der Adressleiste des Browsers. Er sollte wie folgt aussehen: https://<account-console-url>/?o=<workspace ID>#notebook/<notebook ID>/command/<command ID>.
  5. Ersetzen Sie in der Adressleiste des Browsers die Notebook-ID durch die ID, die Sie im ersten Schritt kopiert haben, und löschen Sie dann alles nach der Notebook-ID. Er sollte wie folgt aussehen: https://<account-console-url>/?o=<workspace ID>#notebook/700809544510906.
  6. Nachdem Sie das Notebook abgerufen haben, können Sie auf die Schaltfläche "Freigeben " klicken, um den Besitzer des Notebooks anzuzeigen.

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
Serverloses Computing für Aufträge Der in der Einstellung „Ausführen als“ 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.
Training von Mosaic AI-Modellen Der Benutzer oder Dienstprinzipal, der die Trainingsausführung für die Optimierung initiiert hat.

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 jeder SKU wurden in diesem Monat verbraucht?

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

Wie viel von jeder SKU hat ein Arbeitsbereich am 1. Juni verbraucht?

Stellen Sie sicher, dass Sie workspace_id durch Ihre tatsächliche Arbeitsbereichs-ID ersetzen.

SELECT
  sku_name, sum(usage_quantity) as `DBUs consumed`
FROM
  system.billing.usage
WHERE
  workspace_id = 1234567890123456
AND
  usage_date = "2023-06-01"
GROUP BY
  sku_name

Hinweis

Diese Abfrage gibt eine Zeile pro eindeutiger SKU-ID zurück, die im Arbeitsbereich an dem gewählten Datum verwendet wird.

Welche Aufträge verbrauchten die meisten DBUs?

SELECT
  usage_metadata.job_id as `Job ID`, sum(usage_quantity) as `DBUs`
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 `DBUs consumed`
FROM
  system.billing.usage
WHERE
  custom_tags.{{key}} = "{{value}}"
GROUP BY 1, 2

Die SKUs anzeigen, bei denen der Verbrauch zunimmt

SELECT
  after.sku_name, before_dbus, after_dbus, ((after_dbus - before_dbus)/before_dbus * 100) AS growth_rate
FROM
  (SELECT
     sku_name, sum(usage_quantity) as before_dbus
   FROM
     system.billing.usage
   WHERE
     usage_date BETWEEN "2023-04-01" and "2023-04-30"
   GROUP BY
     sku_name
  ) as before
JOIN
  (SELECT
     sku_name, sum(usage_quantity) as after_dbus
   FROM
     system.billing.usage
   WHERE
     usage_date
   BETWEEN
     "2023-05-01" and "2023-05-30"
   GROUP BY
     sku_name
  ) as after
WHERE
  before.sku_name = after.sku_name
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