计费使用情况系统表引用

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

有关使用此表监视作业成本的信息,请参阅使用系统表监视作业成本

有关分析无服务器使用情况的策略,请参阅监视无服务器计算的成本

表路径:此系统表位于 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 与此使用情况记录相关的开始时间。 时区信息记录在值的末尾,其中 +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_TIMESTORAGE_SPACENETWORK_BYTESAPI_CALLSTOKENGPU_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_productproduct_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:值包括 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

本月已使用每个产品的 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