计费使用情况系统表引用
重要
此功能目前以公共预览版提供。
本文概述了可计费使用情况系统表,包括架构和示例查询。 使用系统表时,你的帐户的可计费使用情况数据会集中并路由到所有区域,以便可以从你的工作区所在的任何区域查看帐户的全局使用情况。
可计费使用情况表架构
计费使用量系统表位于 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 | 此使用情况相关的云。 可能值为 AWS 、AZURE 和 GCP 。 |
AWS 、AZURE 或 GCP |
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 | 记录是否为更正。 可能的值为 ORIGINAL 、RETRACTION 和 RESTATEMENT 。 |
ORIGINAL |
ingestion_date |
date | 将记录引入到 usage 表中的日期。 |
2024-01-01 |
billing_origin_product |
string | 引发使用的产品。 某些产品可以按不同的 SKU 计费。 有关可能的值,请参阅查看与使用情况关联的产品信息。 | JOBS |
product_features |
struct | 有关使用的特定产品功能的详细信息。 | 有关可能的值,请参阅产品功能。 |
usage_type |
string | 出于计费目的归因于产品或工作负载的使用类型。 可能的值为 COMPUTE_TIME 、COMPUTE_SLOT 、STORAGE_SPACE 、NETWORK_BYTES 、API_CALLS 、TOKEN 或 GPU_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
查找作业,请运行:
- 从使用情况记录中复制
job_id
。 对于本示例,假设 ID 为700809544510906
。 - 导航到作业所在的同一 Azure Databricks 工作区中的“工作流”UI。
- 确保未选中“仅我拥有的作业”筛选器。
- 将 ID (700809544510906) 粘贴到“筛选作业”搜索栏中。
若要在 UI 中根据 notebook_id
查找笔记本,请按以下说明操作:
- 从使用情况记录中复制
notebook_id
。 对于本示例,假设 ID 为700809544510906
。 - 导航到笔记本所在的同一 Azure Databricks 工作区中的“工作区”UI。
- 单击你看到的任一笔记本。
- 打开笔记本后,检查浏览器地址栏中的 URL。 它看起来应该类似于:
https://<account-console-url>/?o=<workspace ID>#notebook/<notebook ID>/command/<command ID>
。 - 在浏览器地址栏中,将笔记本 ID 替换为在第一步中复制的 ID,然后删除笔记本 ID 后面的所有内容。 它看起来应该类似于:
https://<account-console-url>/?o=<workspace ID>#notebook/700809544510906
。 - 拉取笔记本后,可以单击“共享”按钮查看笔记本所有者。
查看与使用情况关联的产品的相关信息
某些 Databricks 产品在同一共享 SKU 下计费。 为了帮助区分使用情况,billing_origin_product
和 product_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
:值包括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 消耗的每日趋势是什么?
- 在本月,每个 SKU 使用了多少个 DBU?
- 工作区在 6 月 1 日使用了每种 SKU 多少个?
- 哪些作业消耗的 DBU 最多?
- 有多少使用情况可以归因于具有特定标记的资源?
- 向我展示使用量在增加的 SKU
- 全用途计算 (Photon) 的使用趋势是什么?
- 具体化视图或流式处理表的 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
在本月,每个 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