計費使用量系統數據表參考

重要

這項功能處於公開預覽狀態

本文提供可計費使用量系統數據表的概觀,包括架構和範例查詢。 使用系統數據表時,您的帳戶計費使用量數據會集中並路由傳送到所有區域,因此您可以從工作區所在的哪個區域檢視帳戶的全域使用量。

計費使用量數據表架構

計費使用量系統數據表位於 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 字串 此使用量與雲端相關。 可能的值是 AWSAZUREGCP AWSAZUREGCP
usage_start_time timestamp 此使用量記錄的相關開始時間 2023-01-09 10:00:00.000
usage_end_time timestamp 此使用記錄的相關結束時間 2023-01-09 11:00:00.000
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 字串 記錄是否為更正。 可能的值是 ORIGINALRETRACTIONRESTATEMENT ORIGINAL
ingestion_date date 記錄擷取到數據表的 usage 日期。 2024-01-01
billing_origin_product 字串 產生使用量的產品。 某些產品可以計費為不同的 SKU。 如需可能的值,請參閱 檢視與使用量相關聯的產品相關信息。 JOBS
product_features struct 所使用特定產品功能的詳細數據。 如需可能的值,請參閱 產品功能
usage_type 字串 用於計費之產品或工作負載的使用類型。 可能的值為 COMPUTE_TIMECOMPUTE_SLOTSTORAGE_SPACENETWORK_BYTESAPI_CALLSTOKENGPU_TIME STORAGE_SPACE

分析使用量元數據

中的 usage_metadata 值會告訴您使用記錄中涉及的資源。

資料類型 描述
cluster_id string 與使用量記錄相關聯的叢集標識碼
instance_pool_id string 與使用量記錄相關聯的實例集區標識碼
node_type string 計算資源的實例類型
job_id string 與使用量記錄相關聯的作業標識碼
job_run_id string 與使用量記錄相關聯的作業執行標識碼
notebook_id string 與使用量記錄相關聯的筆記本標識碼
dlt_pipeline_id string 與使用量記錄相關聯的 Delta Live Tables 管線標識碼

注意

在罕見的情況下,不會填入長時間執行的作業, job_run_id 其計算會在 Azure Databricks 開始擷取元數據之前開始執行 job_run_id 。 重新啟動工作的計算,開始錄製 job_run_id

使用job_id或notebook_id在UI中尋找作業或筆記本

這些指示說明如何根據UI標識元提取特定作業或筆記本。

若要根據其 job_id在UI中尋找作業:

  1. job_id從使用量記錄複製 。 在這裡範例中,假設識別碼為 700809544510906
  2. 流覽至 與作業相同的 Azure Databricks 工作區中的工作流程 UI。
  3. 請確定未核取 [我所擁有的唯一作業] 篩選條件。
  4. 將標識碼 (700809544510906) 貼到 [篩選工作 ] 搜尋列中。

若要根據UI notebook_id尋找筆記本,請使用下列指示:

  1. notebook_id從使用量記錄複製 。 在這裡範例中,假設識別碼為 700809544510906
  2. 流覽至 與筆記本相同的 Azure Databricks 工作區中的工作區 UI。
  3. 按兩下您看到的任何筆記本。
  4. 開啟筆記本之後,請檢查瀏覽器網址列中的URL。 看起來應該像 https://<account-console-url>/?o=<workspace ID>#notebook/<notebook ID>/command/<command ID>
  5. 在瀏覽器網址列中,將筆記本標識碼取代為您在第一個步驟中複製的標識碼,然後在筆記本標識符之後刪除所有專案。 看起來應該像 https://<account-console-url>/?o=<workspace ID>#notebook/700809544510906
  6. 提取筆記本之後,您可以按兩下 [共用] 按鈕來檢視筆記本擁有者。

分析身分識別元數據

數據 identity_metadata 行可協助您識別負責無伺服器計費記錄的人員。 數據行包含一個 run_as 值,這個值會將使用量屬性設定為身分識別。 中 identity_metadata.run_as 記錄的身分識別取決於與使用量相關聯的產品。

請參考下表以 identity_metadata.run_as 取得行為:

工作負載類型 的身分識別 run_as
工作流程的無伺服器計算 執行身分設定中定義的用戶或服務主體。 根據預設,作業會以作業擁有者的身分識別執行,但系統管理員可以將此變更為其他用戶或服務主體。
筆記本的無伺服器計算 執行筆記本命令的使用者(特別是建立筆記本會話的使用者)。 對於共用筆記本,這包括其他用戶共用相同筆記本會話的使用方式。

檢視與使用量相關聯的產品相關信息

某些 Databricks 產品會以相同的共用 SKU 計費。 為了協助您區分使用量, billing_origin_productproduct_features 數據行提供與使用量相關聯之特定產品和功能的更深入解析。

數據 billing_origin_product 行會顯示與使用量記錄相關聯的 Databricks 產品。 這些值包括:

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

資料 product_features 行是物件,其中包含所使用之特定產品功能的相關信息,並包含下列索引鍵/值組:

  • jobs_tier:值包括 LIGHTCLASSICnull
  • sql_tier:值包括 CLASSICPROnull
  • dlt_tier:值包括 CORE、、ADVANCEDPRO、 或null
  • is_serverless:值包括 true 或 、 falsenull
  • is_photon:值包括 true 或 、 falsenull
  • serving_type:值包括 MODEL、、FOUNDATION_MODELGPU_MODELFEATURE、 或null

無伺服器計算使用量

如需分析無伺服器使用量的策略,請參閱 監視無伺服器計算的成本。

範例查詢

您可以使用下列範例查詢來回答關於可計費使用量的常見問題:

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

本月已使用每個 SKU 的 DBU 數目?

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

工作區在 6 月 1 日使用了多少個 SKU?

請務必以實際的工作區識別碼取代 workspace_id

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

注意

此查詢會針對所選日期的工作區中使用的每個唯一 SKU 標識碼傳回一個數據列。

哪些作業耗用了最多的 DBU?

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

可以使用特定標籤將多少使用量歸因於資源?

您可以透過各種方式細分成本。 此範例示範如何依自定義標籤分成本。 請務必取代查詢中的自定義標記索引鍵和值。

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

顯示使用量成長所在的 SKU

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

所有用途計算的使用趨勢為何(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,您需要相關聯的管線標識元 (dlt_pipeline_id)。 在目錄總管中檢視相關的具體化檢視或串流數據表時,在 [詳細數據 ] 索引卷標中尋找 [管線標識符]。

SELECT
  sku_name,
  usage_date,
  SUM(usage_quantity) AS `DBUs`
FROM
  system.billing.usage
WHERE
  usage_metadata.dlt_pipeline_id = "113739b7-3f45-4a88-b6d9-e97051e773b9"
  AND usage_start_time > "2023-05-30"
GROUP BY
  ALL