计费使用情况系统表引用

重要

此功能目前以公共预览版提供。

本文概述了可计费使用情况系统表,包括架构和示例查询。 使用系统表时,你的帐户的可计费使用情况数据会集中并路由到所有区域,以便可以从你的工作区所在的任何区域查看帐户的全局使用情况。

可计费使用情况表架构

计费使用量系统表位于 system.billing.usage 并使用以下架构:

列名称 数据类型 说明 示例
record_id 字符串 此记录的唯一 ID 11e22ba4-87b9-4cc2-9770-d10b894b7118
account_id string 生成此报告的帐户的 ID 23e22ba4-87b9-4cc2-9770-d10b894b7118
workspace_id string 此使用情况关联的工作区的 ID 1234567890123456
sku_name string SKU 的名称 STANDARD_ALL_PURPOSE_COMPUTE
cloud string 此使用情况相关的云。 可能值为 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 日期 使用情况记录的日期,此字段可用于按日期更快地聚合 2023-01-01
custom_tags map 用户对此使用情况应用的标记 { "env": "production" }
usage_unit string 此使用情况的度量单位。 可能的值包括 DBU。 DBU
usage_quantity decimal 此记录消耗的单位数。 259.2958
usage_metadata struct 系统提供的有关使用情况的元数据,包括计算资源和作业的 ID(如果适用)。 请参阅分析使用情况元数据 {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 string 记录是否为更正。 可能的值为 ORIGINALRETRACTIONRESTATEMENT ORIGINAL
ingestion_date date 将记录引入到 usage 表中的日期。 2024-01-01
billing_origin_product string 引发使用的产品。 某些产品可以按不同的 SKU 计费。 有关可能的值,请参阅查看与使用情况关联的产品信息 JOBS
product_features struct 有关使用的特定产品功能的详细信息。 有关可能的值,请参阅产品功能
usage_type string 出于计费目的归因于产品或工作负载的使用类型。 可能的值为 COMPUTE_TIMECOMPUTE_SLOTSTORAGE_SPACENETWORK_BYTESAPI_CALLSTOKENGPU_TIME STORAGE_SPACE

分析使用情况元数据

usage_metadata 中的值告知使用情况记录中涉及的资源。

数据类型 描述
cluster_id string 与使用情况记录关联的群集的 ID
instance_pool_id string 与使用情况记录关联的实例池的 ID
node_type string 计算资源的实例类型
job_id string 与使用情况记录关联的作业的 ID
job_run_id string 与使用情况记录关联的作业运行的 ID
notebook_id string 与使用情况记录关联的笔记本的 ID
dlt_pipeline_id string 与使用情况记录关联的增量实时表管道的 ID

注意

在极少数情况下,不会为长时间运行的作业填充 job_run_id,这些作业的计算在 Azure Databricks 开始捕获 job_run_id 元数据之前开始运行。 重启作业的计算,以开始记录 job_run_id

使用 job_id 或 notebook_id 在 UI 中查找作业或笔记本

这些说明解释了如何在 UI 中根据 ID 拉取特定的作业或笔记本。

若要在 UI 中根据 job_id 查找作业,请运行:

  1. 从使用情况记录中复制 job_id。 对于本示例,假设 ID 为 700809544510906
  2. 导航到作业所在的同一 Azure Databricks 工作区中的“工作流”UI
  3. 确保未选中“仅我拥有的作业”筛选器
  4. 将 ID (700809544510906) 粘贴到“筛选作业”搜索栏中

若要在 UI 中根据 notebook_id 查找笔记本,请按以下说明操作:

  1. 从使用情况记录中复制 notebook_id。 对于本示例,假设 ID 为 700809544510906
  2. 导航到笔记本所在的同一 Azure Databricks 工作区中的“工作区”UI
  3. 单击你看到的任一笔记本。
  4. 打开笔记本后,检查浏览器地址栏中的 URL。 它看起来应该类似于:https://<account-console-url>/?o=<workspace ID>#notebook/<notebook ID>/command/<command ID>
  5. 在浏览器地址栏中,将笔记本 ID 替换为在第一步中复制的 ID,然后删除笔记本 ID 后面的所有内容。 它看起来应该类似于:https://<account-console-url>/?o=<workspace ID>#notebook/700809544510906
  6. 拉取笔记本后,可以单击“共享”按钮查看笔记本所有者

查看与使用情况关联的产品的相关信息

某些 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:值包括 COREPROADVANCEDnull
  • is_serverless:值包括 truefalsenull
  • is_photon:值包括 truefalsenull
  • serving_type:值包括 MODELGPU_MODELFOUNDATION_MODELFEATUREnull

示例查询

可以使用以下示例查询来回答有关可计费使用情况的常见问题:

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 替换为实际的工作区 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 ID 返回一行。

哪些作业消耗的 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,需要关联的管道 ID (dlt_pipeline_id)。 在目录资源管理器中查看相关具体化视图或流式处理表时,在“详细信息”选项卡中查找管道 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