Unity Catalog 指标视图

指标视图提供了一种集中方法,用于定义和管理一致、可重用和管理的核心业务指标。 本页介绍指标视图、如何定义指标视图、控制访问并在下游工具中查询它们。

什么是指标视图?

指标视图将复杂的业务逻辑抽象化为集中式定义,使组织能够定义关键绩效指标一次,并在仪表板、Genie 空间和警报等报告工具中一致地使用这些指标。 指标视图以 YAML 格式定义,并在 Unity 目录中注册。 可以使用 SQL 或目录资源管理器 UI 创建它们。 与任何其他表或视图一样,可以使用 SQL 查询指标视图。

该关系图显示了指标视图在源表、视图和查询上定义,并被代码和无代码接口所使用。

为何使用指标视图

与在创建时锁定聚合和维度的标准视图不同,指标视图将度量值定义与维度分组分开。 这样,就可以定义一次指标,并在运行时灵活地跨任何维度查询指标,而查询引擎会自动生成正确的计算。

指标视图提供主要优势:

  • 跨团队和工具标准化指标定义,以防止不一致。
  • 处理复杂的度量,比如在标准视图中无法安全重新聚合的比率和不同计数。
  • 通过支持具有多级联接的星型和雪花型架构(例如,订单→产品→类别)来实现灵活的分析
  • 简化用户体验, 同时保持 SQL 透明度和治理。

示例:

假设你想要分析不同地理级别的每个不同客户的收入。 使用标准视图时,需要为每个分组(州、区域、国家/地区)创建单独的视图,或者提前使用 GROUP BY CUBE() 和筛选所有组合。 这些解决方法会增加复杂性,并导致性能和治理问题。

使用指标视图,可以定义一次指标(收入之和除以不同的客户计数),用户可以按任何可用的地理维度进行分组。 查询引擎在后台重写查询以执行正确的计算,而不考虑数据的分组方式。

Components

指标视图指定一组指标定义,这些定义包括基于数据源的维度和度量值;如果使用联接逻辑,则指定多个源。 在度量视图定义中的 source 可以是视图、表或 SQL 查询。 仅视图和表支持联接。

维度是一个分类属性,用于组织和筛选数据,例如产品名称、客户类型或区域。 维度提供有效分析度量值所需的标签和分组。

度量值是汇总业务活动的值,通常使用聚合函数(例如 SUM()AVG())。 度量值可以应用于源表或视图中的一个或多个基字段,或引用先前定义的维度和度量值。 度量值的定义独立于维度,允许用户在运行时按任何维度聚合度量值。 例如,定义total_revenue度量值可启用依据customersupplierregion的聚合。 度量通常用作报表和仪表板中的 KPI。

访问和编辑指标视图

将指标视图注册到 Unity Catalog。 对指标视图具有至少 SELECT 权限的用户可以使用目录资源管理器 UI 访问详细信息。

在目录资源管理器 UI 中查看详细信息

在目录资源管理器中查看度量视图:

  1. 点击边栏中的“数据”图标目录
  2. 浏览可用数据或使用搜索栏按名称搜索指标视图。
  3. 单击指标视图的名称。
  4. 使用选项卡查看有关指标视图的信息:
  • 概述:显示指标中定义的所有度量值和维度以及已定义的任何语义元数据。
  • 详细信息:显示指标视图的完整 YAML 定义。
  • 权限:显示可以访问指标视图、其权限以及定义权限的包含数据库对象的所有主体。
  • 世系:显示相关资产,例如表、笔记本、仪表板和其他指标视图。
  • 见解:在过去 30 天内,对指标视图进行的查询和访问指标视图的用户按频率顺序列出,最频繁的在顶部。

查询指标视图

可以像标准视图一样查询指标视图。 从附加到 SQL 仓库或运行受支持运行时的其他计算资源的任何 SQL 编辑器运行查询。

查询度量值和维度

指标视图查询中的所有度量值都必须使用 MEASURE 聚合函数。 有关完整详细信息和语法,请参阅 measure 聚合函数

注释

指标视图不支持 SELECT * 查询。 度量值是需要使用 MEASURE() 函数按名称显式引用的汇总,因此您必须明确指定要查询的维度和度量。

在查询过程中不支持 JOIN 操作。 要连接表:

  • 在 YAML 规范中定义用于创建度量视图的 JOIN。 请参阅指标视图中的“使用联接”。

以查询结果的形式查看详细信息

以下查询返回指标视图的完整 YAML 定义,包括度量值、维度、联接和 语义元数据AS JSON 参数是可选的。 有关完整的语法详细信息,请参阅 JSON 格式的输出

DESCRIBE TABLE EXTENDED <catalog.schema.metric_view_name> AS JSON

完整的 YAML 定义显示在结果的 “查看文本 ”字段中。 每列都包含一个包含语义元数据的 元数据 字段。

查看指标视图

还可以在整个 Azure Databricks 工作区中使用指标视图。 有关详细信息,请参阅关联的文档:

局限性

以下限制条件适用于指标视图:

  • 指标视图不支持 Delta Sharing 或数据剖析。

后续步骤

  • 在指标视图中使用窗口度量值