使用标记监视使用情况

要监视成本并将 Azure Databricks 使用量准确地划归到组织的业务部门和团队(例如出于费用分摊目的),可以标记工作区(资源组)和计算资源。 这些标记传播到详细的成本分析报表,你可以在 Azure 门户中访问这些报表。

以下是 Azure 门户中的成本分析发票详细信息报表,该报表通过 clusterid 标记详细记录了一个月的成本:

按群集 ID 进行成本分析

标记的对象和资源

Object 标记界面 (UI) 标记界面 (API)
工作区 Azure 门户 Azure 资源 API
Azure Databricks 工作区中的池 UI 实例池 API
通用计算和作业计算 Azure Databricks 工作区中的计算 UI 群集 API
SQL 仓库 Azure Databricks 工作区中的 SQL 仓库 UI 仓库 API

警告

请勿向群集分配带有键 Name 的自定义标记。 每个群集都有一个标记 Name,其值由 Azure Databricks 设置。 如果更改与键 Name 关联的值,则 Azure Databricks 不会再跟踪该群集。 因此,群集可能不会在变为空闲后终止,并且将继续产生使用成本。

默认标记

Azure Databricks 将以下默认标记添加到通用计算:

标记键
Vendor 常量值:Databricks
ClusterId 群集的 Azure Databricks 内部 ID
ClusterName 群集的名称
Creator 创建群集的用户的用户名(电子邮件地址)

在作业群集上,Azure Databricks 还应用以下默认标记:

标记键
RunName 作业名称
JobId 作业 ID

Azure Databricks 将以下默认标记添加到所有池:

标记键
Vendor 常量值:Databricks
DatabricksInstancePoolCreatorId 创建池的用户的 Azure Databricks 内部 ID
DatabricksInstancePoolId 池的 Azure Databricks 内部 ID

在 Lakehouse Monitoring 使用的计算上,Azure Databricks 还应用以下标记:

标记键
LakehouseMonitoring
LakehouseMonitoringTableId 被监视表的 ID
LakehouseMonitoringWorkspaceId 创建监视器的工作区的 ID
LakehouseMonitoringMetastoreId 被监视表所在元存储的 ID

标记传播

工作区、池和群集标记由 Azure Databricks 聚合并传播到 Azure VM,用于成本分析报表。 但池和群集标记的传播方式彼此不同。

Databricks 对象标记层次结构

工作区和池标记进行聚合并分配为托管池的 Azure VM 的资源标记。

工作区和群集标记进行聚合并分配为托管群集的 Azure VM 的资源标记。

从池中创建群集时,只会将工作区标记和池标记传播到 VM。 不传播群集标记,以保持池群集启动性能。

标记冲突解决

如果自定义群集标记、池标记或工作区标记与 Azure Databricks 默认群集或池标记具有相同的名称,则该自定义标记在传播时将以 x_ 作为前缀。

例如,如果工作区标记有 vendor = Azure Databricks,则该标记将与默认的群集标记 vendor = Databricks 冲突。 因此,标记将作为 x_vendor = Azure Databricksvendor = Databricks 传播。

限制

  • 在进行任何更改后,自定义工作区标记传播到 Azure Databricks 可能需要长达一个小时的时间。
  • 不能为 Azure 资源分配超过 50 个标记。 如果聚合标记的总计数超过此限制,带 x_ 前缀的标记将按字母顺序计算,超出限制的标记将被忽略。 如果忽略所有带 x_ 前缀的标记,并且一直计数直到超过限制,则剩余的标记将按照字母顺序计算,而超出限制的标记将被忽略。
  • 标记键和值只能包含来自 ISO 8859-1 (latin1) 集的字符。 包含其他字符的标记将被忽略。
  • 如果更改标记键名称或值,则这些更改仅在群集重启或池扩展之后才适用。
  • 如果群集的自定义标记与池的自定义标记冲突,则无法创建群集。

使用策略的强制标记

可使用计算策略在群集上强制实施标记。 有关详细信息,请参阅自定义标记强制实施