计费使用情况系统表引用
本文概述了可计费使用情况系统表,包括架构和示例查询。 使用系统表时,你的帐户的可计费使用情况数据会集中并路由到所有区域,以便可以从你的工作区所在的任何区域查看帐户的全局使用情况。
有关使用此表监视作业成本的信息,请参阅使用系统表监视作业成本。
有关分析无服务器使用情况的策略,请参阅监视无服务器计算的成本。
表路径:此系统表位于 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 | 与此使用情况记录相关的开始时间。 时区信息记录在值的末尾,其中 +00:00 表示 UTC 时区。 |
2023-01-09 10:00:00.000+00:00 |
usage_end_time |
timestamp | 与此使用情况记录相关的结束时间。 时区信息记录在值的末尾,其中 +00:00 表示 UTC 时区。 |
2023-01-09 11:00:00.000+00:00 |
usage_date |
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 。 请参阅分析更正记录。 |
ORIGINAL |
ingestion_date |
date | 将记录引入到 usage 表中的日期。 |
2024-01-01 |
billing_origin_product |
string | 引发使用的产品。 某些产品可以按不同的 SKU 计费。 有关可能的值,请参阅查看与使用情况关联的产品信息。 | JOBS |
product_features |
struct | 有关使用的特定产品功能的详细信息。 | 有关可能的值,请参阅产品功能。 |
usage_type |
string | 出于计费目的归因于产品或工作负载的使用类型。 可能的值为 COMPUTE_TIME 、STORAGE_SPACE 、NETWORK_BYTES 、API_CALLS 、TOKEN 或 GPU_TIME 。 |
STORAGE_SPACE |
分析使用情况元数据
usage_metadata
中的值告知使用情况记录中涉及的资源。
值 | 数据类型 | 说明 |
---|---|---|
cluster_id |
string | 与使用情况记录关联的群集的 ID |
warehouse_id |
string | 与使用记录关联的 SQL 仓库的 ID |
instance_pool_id |
string | 与使用情况记录关联的实例池的 ID |
node_type |
string | 计算资源的实例类型 |
job_id |
string | 与使用情况记录关联的作业的 ID。 仅返回无服务器计算或作业计算使用情况的值,否则返回 null 。 |
job_run_id |
string | 与使用情况记录关联的作业运行的 ID。 仅返回无服务器计算或作业计算使用情况的值,否则返回 null 。 |
job_name |
string | 与使用情况记录关联的作业的用户给定名称。 仅返回在无服务器计算上运行的作业的值,否则返回 null 。 |
notebook_id |
string | 与使用情况关联的笔记本的 ID。 仅返回笔记本使用情况的无服务器计算的值,否则返回 null 。 |
notebook_path |
string | 与使用情况关联的笔记本的工作区存储路径。 仅返回笔记本使用情况的无服务器计算的值,否则返回 null 。 |
dlt_pipeline_id |
string | 与使用情况记录关联的增量实时表管道的 ID |
dlt_update_id |
string | 与使用情况记录关联的增量实时表管道更新的 ID |
dlt_maintenance_id |
string | 与使用情况记录关联的增量实时表管道维护任务的 ID |
run_name |
string | 与使用记录关联的 Mosaic AI 模型训练微调运行的唯一面向用户的标识符 |
endpoint_name |
string | 与使用情况记录关联的模型服务终结点或矢量搜索终结点的名称 |
endpoint_id |
string | 与使用情况记录关联的模型服务终结点或矢量搜索终结点的 ID |
central_clean_room_id |
string | 与使用情况记录关联的中央清理室的 ID |
分析标识元数据
identity_metadata
列可帮助你确定谁负责处理无服务器计费记录。 该列包含一个 run_as
值,该值将使用情况归因于某个标识。 identity_metadata.run_as
中记录的标识取决于与使用情况关联的产品。
请参考下表了解 identity_metadata.run_as
行为:
工作负荷类型 | run_as 的标识 |
---|---|
作业计算 | 在 run_as 设置中定义的用户或服务主体。 默认情况下,作业以作业所有者的身份运行,但管理员可以将其更改为其他用户或服务主体。 |
作业的无服务器计算 | 在 run_as 设置中定义的用户或服务主体。 默认情况下,作业以作业所有者的身份运行,但管理员可以将其更改为其他用户或服务主体。 |
适用于笔记本的无服务器计算 | 运行笔记本命令的用户(具体而言,是创建笔记本会话的用户)。 对于共享笔记本,这包括共享同一笔记本会话的其他用户的使用情况。 |
Delta Live Tables 管道 | 其权限用于运行增量实时表管道的用户。 可以通过转移管道的所有权来更改此内容。 |
Mosaic AI 模型训练 | 启动微调训练运行的用户或服务主体。 |
分析更正记录
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
MANAGED_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
被设置为与具体化视图或流式处理表关联的管道的 ID。 你可以在具体化视图或流式处理表中查看时,在目录资源管理器的“详细信息”选项卡中查找管道 ID。 若要选择按日期限制消耗量,请指定开始日期、结束日期或日期范围。 以下查询检索 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
设置为管道的 ID。 在 Delta Live Tables UI 中查看管道时,可以在“管道详细信息”选项卡上找到管道 ID。 若要选择按日期限制消耗量,请指定开始日期、结束日期或日期范围。 以下查询检索具有 ID 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