計費使用量系統數據表參考
本文提供可計費使用量系統數據表的概觀,包括架構和範例查詢。 使用系統數據表時,您的帳戶計費使用量數據會集中並路由傳送到所有區域,因此您可以從工作區所在的哪個區域檢視帳戶的全域使用量。
如需使用此資料表來監視作業成本,請參閱 使用系統數據表監視作業成本效能 &。
如需分析無伺服器使用量的策略,請參閱 監視無伺服器計算的成本。
資料表路徑:此系統資料表位於 system.billing.usage
。
計費使用量數據表架構
計費使用量系統數據表會使用下列架構:
資料行名稱 | 資料類型 | 描述 | 範例 |
---|---|---|---|
record_id |
字串 | 此記錄的唯一標識碼 | 11e22ba4-87b9-4cc2 -9770-d10b894b7118 |
account_id |
字串 | 產生此報告之帳戶的標識碼 | 23e22ba4-87b9-4cc2 -9770-d10b894b7118 |
workspace_id |
字串 | 此使用方式與工作區的標識符相關聯 | 1234567890123456 |
sku_name |
字串 | SKU 的名稱 | STANDARD_ALL_PURPOSE_COMPUTE |
cloud |
字串 | 此使用量與雲端相關。 可能的值是 AWS 、AZURE 、GCP 。 |
AWS 、 AZURE 或 GCP |
usage_start_time |
timestamp | 與這個使用量記錄相關的開始時間。 時區資訊會以代表UTC時區的值結尾 +00:00 記錄。 |
2023-01-09 10:00:00.000+00:00 |
usage_end_time |
timestamp | 與這個使用記錄相關的結束時間。 時區資訊會以代表UTC時區的值結尾 +00:00 記錄。 |
2023-01-09 11:00:00.000+00:00 |
usage_date |
date | 使用量記錄的日期,此字段可用於依日期更快速匯總 | 2023-01-01 |
custom_tags |
map | 套用至此用法的標籤。 包含計算資源標籤、作業標籤、工作區自定義標籤和預算原則標籤。 | { “env”: “production” } |
usage_unit |
字串 | 測量此使用量的單位。 可能的值包括 DBU。 | DBU |
usage_quantity |
decimal | 此記錄所耗用的單位數目。 | 259.2958 |
usage_metadata |
struct | 系統提供的使用量元數據,包括計算資源和作業的標識碼(如果適用的話)。 請參閱 分析使用量元數據。 | {cluster_id: null; instance_pool_id: null; notebook_id: null; job_id: null; node_type: null} |
identity_metadata |
struct | 系統提供的有關使用方式相關身分識別的元數據。 請參閱 分析身分識別元數據。 | {run_as: example@email.com} |
record_type |
字串 | 記錄是原始的、撤銷的,還是重述。 除非記錄與更正相關,否則此值 ORIGINAL 為 。 請參閱 分析更正記錄。 |
ORIGINAL |
ingestion_date |
date | 記錄擷取到數據表的 usage 日期。 |
2024-01-01 |
billing_origin_product |
字串 | 產生使用量的產品。 某些產品可以計費為不同的 SKU。 如需可能的值,請參閱 檢視與使用量相關聯的產品相關信息。 | JOBS |
product_features |
struct | 所使用特定產品功能的詳細數據。 | 如需可能的值,請參閱 產品功能。 |
usage_type |
字串 | 用於計費之產品或工作負載的使用類型。 可能的值為 COMPUTE_TIME 、STORAGE_SPACE 、NETWORK_BYTES 、API_OPERATION 、TOKEN 或 GPU_TIME 。 |
STORAGE_SPACE |
分析使用量元數據
中的 usage_metadata
值會告訴您使用記錄中涉及的資源。
值 | 資料類型 | 描述 |
---|---|---|
cluster_id |
字串 | 與使用量記錄相關聯的叢集標識碼 |
warehouse_id |
字串 | 與使用量記錄相關聯的 SQL 倉儲標識碼 |
instance_pool_id |
字串 | 與使用量記錄相關聯的實例集區標識碼 |
node_type |
字串 | 計算資源的實例類型 |
job_id |
字串 | 與使用量記錄相關聯的作業標識碼。
只傳回無伺服器計算或作業計算使用量的值,否則會傳 null 回 。 |
job_run_id |
字串 | 與使用量記錄相關聯的作業執行標識碼。
只傳回無伺服器計算或作業計算使用量的值,否則會傳 null 回 。 |
job_name |
字串 | 與使用量記錄相關聯的作業使用者指定名稱。
只會傳回在無伺服器計算上執行的作業值,否則會傳 null 回 。 |
notebook_id |
字串 | 與使用量相關聯的筆記本標識碼。
只會傳回筆記本使用量的無伺服器計算值,否則會傳 null 回 。 |
notebook_path |
字串 | 與使用量相關聯的筆記本工作區記憶體路徑。
只會傳回筆記本使用量的無伺服器計算值,否則會傳 null 回 。 |
dlt_pipeline_id |
字串 | 與使用量記錄相關聯的 Delta Live Tables 管線標識碼 |
dlt_update_id |
字串 | 與使用量記錄相關聯的 Delta Live Tables 管線更新標識符 |
dlt_maintenance_id |
字串 | 與使用量記錄相關聯的 Delta Live Tables 管線維護工作的標識碼 |
run_name |
字串 | 與使用記錄相關聯的基礎模型微調的唯一用戶對應標識符 |
endpoint_name |
字串 | 服務端點或向量搜尋端點的模型名稱,與使用記錄相關聯 |
endpoint_id |
字串 | 與使用記錄相關聯的模型服務端點或向量搜尋端點的標識碼 |
central_clean_room_id |
字串 | 與使用量記錄相關聯的中央清理室標識碼 |
metastore_id |
字串 | 與使用量記錄相關聯的中繼存放區標識碼。 |
分析身分識別元數據
數據 identity_metadata
行可協助您識別負責無伺服器計費記錄的人員。 數據行包含一個 run_as
值,這個值會將使用量屬性設定為身分識別。 中 identity_metadata.run_as
記錄的身分識別取決於與使用量相關聯的產品。
請參考下表以 identity_metadata.run_as
取得行為:
工作負載類型 | 的身分識別 run_as |
---|---|
作業計算 | 設定中 run_as 定義的用戶或服務主體。 根據預設,作業會以作業擁有者的身分識別執行,但系統管理員可以將此變更為其他用戶或服務主體。 |
工作的無伺服器計算 | 設定中 run_as 定義的用戶或服務主體。 根據預設,作業會以作業擁有者的身分識別執行,但系統管理員可以將此變更為其他用戶或服務主體。 |
筆記本的無伺服器計算 | 執行筆記本命令的使用者(特別是建立筆記本會話的使用者)。 對於共用筆記本,這包括其他用戶共用相同筆記本會話的使用方式。 |
Delta Live Tables 管線 | 其許可權用來執行 Delta Live Tables 管線的使用者。 您可以藉由傳送管線的擁有權來變更。 |
基礎模型微調 | 起始微調定型執行的用戶或服務主體。 |
分析更正記錄
數據表 billing.usage
支援更正。 當使用記錄的任何欄位不正確且必須修正時,就會發生更正。
發生更正時,Azure Databricks 會將兩筆新記錄新增至數據表。 撤銷記錄會否定原始不正確的記錄,然後重新整理記錄會包含更正的資訊。 更正記錄是使用 record_type
欄位來識別:
-
RETRACTION
:用來否定原始不正確的使用方式。 所有欄位都與ORIGINAL
記錄相同,但 除外usage_quantity
,這是取消原始使用量數量的負值。 例如,如果原始記錄的使用數量是259.4356
,則撤銷記錄的使用量數量-259.4356
會是 。 -
RESTATEMENT
:包含正確欄位和使用量數量的記錄。
例如,下列查詢會傳回與 job_id
相關的正確每小時使用量數量,即使已進行更正也一樣。 藉由匯總使用量數量,撤銷記錄會否定原始記錄,而且只會傳回重新宣告的值。
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
注意
對於不應寫入原始使用記錄的更正,更正可能只會新增撤銷記錄,而沒有重新整理記錄。
檢視與使用量相關聯的產品相關信息
某些 Databricks 產品會以相同的共用 SKU 計費。 為了協助您區分使用量, billing_origin_product
和 product_features
數據行提供與使用量相關聯之特定產品和功能的更深入解析。
數據 billing_origin_product
行會顯示與使用量記錄相關聯的 Databricks 產品。 這些值包括:
JOBS
DLT
SQL
ALL_PURPOSE
MODEL_SERVING
INTERACTIVE
DEFAULT_STORAGE
VECTOR_SEARCH
LAKEHOUSE_MONITORING
PREDICTIVE_OPTIMIZATION
ONLINE_TABLES
FOUNDATION_MODEL_TRAINING
資料 product_features
行是物件,其中包含所使用之特定產品功能的相關信息,並包含下列索引鍵/值組:
-
jobs_tier
:值包括LIGHT
、CLASSIC
或null
-
sql_tier
:值包括CLASSIC
、PRO
或null
-
dlt_tier
:值包括CORE
、、PRO
ADVANCED
、 或null
-
is_serverless
:值包括true
或 、false
或null
-
is_photon
:值包括true
或 、false
或null
-
serving_type
:值包括MODEL
、、GPU_MODEL
FOUNDATION_MODEL
、FEATURE
、 或null
範例查詢
您可以使用下列範例查詢來回答關於可計費使用量的常見問題:
- DBU 使用量之每日趨勢為何?
- 本月已使用每個產品的 DBU 數目?
- 哪些工作取用最多的 DBU?
- 有多少使用量可歸因於資源附帶了特定標籤?
- 顯示使用量成長所在的 SKU
- 通用運算 (Photon) 的使用趨勢如何?
- 具體化檢視或串流資料表的 DBU 使用量為何?
- 無伺服器 DLT 管線的 DBU 耗用量為何?
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
本月已使用每個產品的 DBU 數目?
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
哪些作業耗用了最多的 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
可以使用特定標籤將多少使用量歸因於資源?
您可以透過各種方式細分成本。 此範例示範如何依自定義標籤分成本。 請務必取代查詢中的自定義標記索引鍵和值。
SELECT
sku_name, usage_unit, SUM(usage_quantity) as `Usage`
FROM
system.billing.usage
WHERE
custom_tags.{{key}} = "{{value}}"
GROUP BY 1, 2
向我顯示使用量增長的產品
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
所有用途計算的使用趨勢為何(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
具體化檢視或串流數據表的 DBU 耗用量為何?
若要取得特定具體化檢視或串流數據表的 DBU 使用量和 SKU,請將查詢提交至可計費使用量系統數據表,以取得記錄,其中 usage_metadata.dlt_pipeline_id
會設定為與具體化檢視或串流數據表相關聯的管線標識符。 檢視具體化檢視或串流數據表時,您可以在目錄總管的 [詳細數據] 索引卷標中找到管線標識符。 若要選擇性地依日期限制耗用量,請指定開始日期、結束日期或日期範圍。 下列查詢會擷取識別碼為 00732f83-cd59-4c76-ac0d-57958532ab5b
且使用量開始日期為 的 2023-05-30
管線 DBU 使用量:
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
無伺服器 DLT 管線的 DBU 耗用量為何?
若要取得無伺服器 DLT 管線的 DBU 使用量和 SKU,請針對設定為管線標識碼的記錄 usage_metadata.dlt_pipeline_id
,將查詢提交至計費使用量系統數據表。 在 Delta Live Tables UI 中檢視管線時,您可以在 [管線詳細數據] 索引標籤上找到管線標識碼。 若要選擇性地依日期限制耗用量,請指定開始日期、結束日期或日期範圍。 下列查詢會針對標識碼 00732f83-cd59-4c76-ac0d-57958532ab5b
為的管線,從 2023 年 12 月擷取 DBU 使用量。
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