mcpField
D
databricks-metric-views

databricks-metric-views

github.com/databricks数据与数据库373319 次安装1 天前更新
代码仓库

关于 databricks-metric-views

用于在 Unity Catalog Metric Views 中定义和查询受治理业务指标的技能,面向数据从业者,涵盖指标设计、YAML 模式、验证与 Genie 集成。

主要功能

  1. 01可复用的度量与维度
  2. 02复杂度量和窗口度量指导
  3. 03YAML 模式与生命周期说明
  4. 04使用 MEASURE() 查询
  5. 05Genie 集成指导

适用场景

  1. 01统一仪表板中的 KPI
  2. 02建模带关联的业务数据
  3. 03定义移动平均或累计值
  4. 04查询受治理的指标视图

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/databricks/databricks-agent-skills --skill databricks-metric-views

安装后在 Claude Code 中输入/databricks-metric-views确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
assets/
databricks.svg
references/
create-patterns.md
metric-view-advisor.md
query-patterns.md

详细介绍

Unity Catalog 指标视图

使用 YAML 定义可复用、受治理的业务指标,将度量定义与维度分组分离,以便灵活查询。

适用场景

在以下情况下使用此技能:

  • 定义标准化业务指标(收入、订单数、转化率)
  • 构建供仪表板、Genie 和 SQL 查询共享的 KPI 层
  • 创建具有复杂聚合的指标(比率、去重计数、筛选度量)
  • 定义窗口度量(移动平均值、累计总和、环比、年初至今)
  • 在指标定义中使用联接对星型或雪花型模式进行建模
  • 启用物化,预先计算指标聚合

首先:这能作为指标视图吗?(决策关卡)

编写前,请确认该度量能在查询时重新聚合。 可加的 SUM/COUNT、会按单元格重新计算的 COUNT(DISTINCT)、MEASURE() 比率(最后再相除),以及受支持的窗口度量(向前滚动 / 累积 / 环比 — 模式 8)都能正确重新聚合,可作为有效的指标视图度量;此列表并非穷举。以下关卡用于排除不适合的形态 — 如果符合以下任意一项,它就不是指标视图:应改为编写受治理的 Unity Catalog SQL 函数(使用 databricks-dbsql 构建),并将其作为可信的已注册 SQL 函数提供给 Genie(设计优先级表面 #11),而不是强行放入视图或预聚合辅助视图中:

  • 在查询粒度上不可加 — 跨维度汇总会导致重复计数。实体计数是典型陷阱:一个实体出现在两个属性值下,仍是一个实体,而不是两个,因此不得跨任意多属性交叉汇总各单元格的去重计数。
  • 先按实体计算,再聚合,且按实体计算的步骤不是求和 / 计数 / 和之比 — 例如,按实体计算两个期间的最小值 / 最大值,或按实体去重计数是否超过阈值。
  • 依赖于筛选选择 — 结果会随用户筛选而重新分配(例如每个单元格都会变化的“所有其他项”分组)。
  • 迭代计算 — 重复计算直至收敛(例如面板重新加权)。
  • 返回一组表,而非单一度量(例如源×目标矩阵加上各行净值)。

一个度量可以大部分用指标视图实现,仅将其中一部分提取到函数中(渗透率 = 可加买家数 ÷ 基数,最后再相除 — 但短窗口修正,或任意多属性交叉 / 按实体阈值,应放入函数)。将复杂步骤预计算到基础 / 辅助视图中,仅适用于定义固定的情况 — 这是一项性能选择,针对所有切片统一确定。如果度量必须响应 Genie 中用户的运行时选择(任意交叉、参数或变化的分母),就必须即时计算,无法预计算 — 需要使用参数化的受治理 SQL 函数,而非预聚合视图。完整规则和两个示例(渗透率、品牌转换增益与损失):metric-view-advisor.md §何时不应使用指标视图。在对 Genie 路由到复现外部方法的函数进行基准测试前,请验证其与参考结果达到 N 位小数的一致性 — 请参阅 databricks-genie-agents 技能。

前提条件

  • Databricks Runtime 17.2+(适用于 YAML 1.1 版);语义元数据(synonyms / display_name / format)需要 17.3+
  • 具有 CAN USE 权限的 SQL 仓库
  • 对源表具有 SELECT 权限,并在目标架构中具有 CREATE TABLE + USE SCHEMA 权限

指标视图生命周期

任务参考资料加载时机
创建metric-view-advisor.md任何创建任务——顾问负责完整工作流(分析架构、分析数据源、提出建议、部署)。同时加载 create-patterns.md,将其作为 YAML 规范和模式参考。
YAML 规范 / 模式create-patterns.md模式 1–12、完整 YAML 字段参考、格式注意事项、部署错误、快速参考。作为顾问的配套资料;也可直接加载以查找模式。
查询query-patterns.md针对指标视图编写 SQL——MEASURE() 基础知识、筛选条件、联接汇总、窗口度量、规则 1–3。
Genie 集成metric-view-advisor.md §Genie Design Rules单事实数据源规则、基础视图、领域组织、命名。Agent 元数据字段(comment、synonyms、display_name、format)参见 create-patterns.md §YAML Field Reference。

典型流程:顾问 → 创建 → 查询/验证 → Genie 集成(如果要添加到 Genie Agent)。

使用 Declarative Automation Bundles 进行源代码管理部署

若要对指标视图进行源代码管理,请提交其完整 SQL 定义,并通过由 bundle 管理的 SQL 作业执行。DAB 没有原生的指标视图资源,但由 bundle 管理的 SQL 作业可以应用已提交的定义:

# databricks.yml
bundle:
  name: orders_metrics

variables:
  catalog: { default: main }
  schema:  { default: default }
  warehouse_id: { default: "" }

resources:
  jobs:
    deploy_orders_metrics:
      name: deploy_orders_metrics
      parameters:
        - name: catalog
          default: ${var.catalog}
        - name: schema
          default: ${var.schema}
      tasks:
        - task_key: create_metric_view
          sql_task:
            warehouse_id: ${var.warehouse_id}
            file:
              path: ../src/orders_metrics.metric_view.sql

部署并运行:

databricks bundle deploy --target <TARGET> --profile <PROFILE>
databricks bundle run deploy_orders_metrics --target <TARGET> --profile <PROFILE>

请参阅官方的指标视图 bundle 示例。

相关技能

资源

评论

支持 Markdown