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 , AZURE oder 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_OPERATION , 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 benutzerdefinierter Bezeichner des Foundation Model Fine-Tuning, der dem Verwendungsdatensatz 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. |
Foundation Model Fine-tuning | 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 demORIGINAL
-Datensatz identisch, mit Ausnahme vonusage_quantity
, einem negativen Wert, der die ursprüngliche Nutzungsmenge aufhebt. Wenn z. B. die Nutzungsmenge des Originaldatensatzes259.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
DEFAULT_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örenLIGHT
,CLASSIC
odernull
sql_tier
: zu den Werten gehörenCLASSIC
,PRO
odernull
dlt_tier
: zu den Werten gehörenCORE
,PRO
,ADVANCED
odernull
is_serverless
: zu den Werten gehörentrue
oderfalse
odernull
is_photon
: zu den Werten gehörentrue
oderfalse
odernull
serving_type
: zu den Werten gehörenMODEL
,GPU_MODEL
,FOUNDATION_MODEL
,FEATURE
odernull
Beispielabfragen
Sie können die folgenden Beispielabfragen verwenden, um häufig gestellte Fragen zum abrechenbaren Verbrauch zu beantworten:
- Wie sieht der tägliche Trend im DBU-Verbrauch aus?
- Wie viele DBUs jedes Produkts wurden in diesem Monat verwendet?
- Welche Aufträge verbrauchten die meisten DBUs?
- Wie viel Verbrauch kann Ressourcen mit einem bestimmten Tag zugeordnet werden?
- Die SKUs anzeigen, bei denen der Verbrauch zunimmt
- Wie ist der Verbrauchstrend von All Purpose Compute (Photon)?
- Was ist der DBU-Verbrauch einer materialisierten Ansichts- oder Streamingtabelle?
- Was ist der DBU-Verbrauch einer serverlosen DLT-Pipeline?
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