1. 课程导入与Databricks治理全景

在数据平台建设中,一个常见的误区是把“数据质量”和“元数据治理”当成两件独立的事:前者交给数据开发写校验规则,后者交给管理员维护表清单。但在 Databricks Lakehouse 架构下,这两者其实是同一套治理能力的两个侧面——元数据是判断数据质量的前提,数据质量结果又反过来丰富元数据。本课程要建立的,正是这种“元数据驱动质量、质量反哺元数据”的整体视角。

一、两个核心概念:数据质量与元数据治理

数据质量关注的是数据本身是否“可用、可信”。在工程实践中,它通常被拆解为若干可度量的维度:完整性(关键字段是否为空)、唯一性(主键是否重复)、一致性(跨表引用是否对得上)、有效性(取值是否落在业务允许范围)、及时性(数据是否在 SLA 内到达)。这些维度不是抽象口号,而是可以落到具体 SQL 断言上的:例如“订单表 order_id 非空且唯一”“订单金额 amount 大于 0”“订单 user_id 必须能在用户表中找到”。

元数据治理关注的是“我们是否知道数据是什么、在哪里、谁负责、谁能用”。元数据可分为三类:技术元数据(表结构、字段类型、分区、存储路径、血缘)、业务元数据(表的中文含义、字段口径、指标定义、负责人)、操作元数据(作业运行记录、刷新时间、访问日志)。治理的目标是让这三类元数据可发现、可追溯、可授权、可审计。

两者的连接点在于:质量规则本身就是一种元数据。当你在某张表上定义“amount > 0”这条规则时,它既是一条质量约束,也是一条描述该字段业务语义的元数据。把规则集中登记在统一的元数据目录中,才能实现跨表复用、统一告警和影响分析。

二、Lakehouse 架构下的治理挑战

传统数仓时代,数据大多集中在单一仓库内,元数据由仓库自身管理,治理边界清晰。而 Lakehouse 把数据湖的开放存储(如云对象存储上的 Delta 表)与数仓的事务能力结合,带来了新的治理难题:

  • 数据分散、命名混乱:同一份业务数据可能以 parquet、Delta、视图等多种形态散落在多个 catalog 和 schema 中,命名风格不统一,难以发现。
  • 血缘断裂:从原始层到明细层再到汇总层,跨 Notebook、Job、SQL 的加工链路长,一旦上游字段变更,很难快速定位受影响的下游表。
  • 权限粒度粗:对象存储层面的权限往往只能控制到路径,无法做到“表级、列级、行级”的精细授权,敏感字段容易过度暴露。
  • 质量规则重复建设:每个团队各自写校验脚本,规则散落在代码里,既无法统一查看,也无法在表结构变化时自动同步。

这些挑战的共同根源是:缺少一个统一的、贯穿全平台的元数据与权限控制平面。

三、Unity Catalog 的定位

Unity Catalog(UC)正是 Databricks 为 Lakehouse 提供的统一治理层。它不是一张表,也不是一个库,而是横跨所有工作空间的元数据与访问控制中枢。它的核心价值可以概括为三点:

  1. 统一命名空间:采用 catalog.schema.table 三级结构,让所有数据资产拥有全局唯一、可读的标识,跨工作空间一致。
  2. 统一权限模型:权限授予在 UC 对象上完成,支持 catalog、schema、table、view、function 乃至列级和行级过滤,底层存储权限由 UC 托管,避免绕过。
  3. 统一元数据与血缘:表、列、注释、标签、血缘、质量监控都汇聚在 UC 中,成为后续数据质量规则登记和影响分析的载体。
可以把 Unity Catalog 理解为 Lakehouse 的“户籍系统 + 门禁系统 + 档案系统”:它给每份数据上户口(命名空间),管谁能进哪扇门(权限),并记录这份数据从哪来、到哪去(血缘与元数据)。

四、本课程实战项目介绍

为了让治理能力落到可操作的层面,本课程围绕一个贯穿始终的实战项目展开:某零售企业的订单数据质量治理。项目背景设定如下(示例场景,非真实企业数据):

  • 数据源:订单系统每日增量写入 retail_bronze.orders_raw,字段包括 order_id、user_id、amount、order_time、status。
  • 加工链路:Bronze 原始层 → Silver 清洗层 retail_silver.orders_clean → Gold 汇总层 retail_gold.daily_sales。
  • 治理目标:在 Unity Catalog 中登记表与字段的业务含义,定义并调度质量规则,监控每日质量指标,出现异常时能沿血缘定位影响范围。

课程将依次覆盖:UC 命名空间与权限配置、表与列的元数据登记、基于 Delta 的质量约束与期望(Expectations)、质量指标表设计、告警与血缘分析,以及最终的治理看板搭建。每一节都会给出可执行的 SQL、配置片段或参数示例,并说明如何观察结果、如何判断治理是否生效。

Unity Catalog 治理全景:元数据 · 权限 · 质量 Unity Catalog 统一命名空间 · 权限 · 元数据 · 血缘 元数据治理 • 技术元数据:表结构 / 分区 / 血缘 • 业务元数据:口径 / 负责人 / 标签 • 操作元数据:刷新时间 / 访问日志 • 质量规则登记与复用 数据质量 • 完整性:order_id 非空 • 唯一性:order_id 不重复 • 有效性:amount > 0 • 一致性:user_id 可关联 规则即元数据 结果反哺 Bronze 原始层 retail_bronze.orders_raw Silver 清洗层 retail_silver.orders_clean Gold 汇总层 retail_gold.daily_sales 血缘登记 治理闭环:登记元数据 → 定义质量规则 → 调度校验 → 监控指标 → 血缘影响分析

上图展示了本课程的整体治理闭环:Unity Catalog 作为中枢,左侧承载元数据治理,右侧承载数据质量,两者通过“规则即元数据”和“质量结果反哺元数据”双向连接;下方是贯穿项目的 Bronze→Silver→Gold 数据链路,血缘信息回指 UC,使上游变更能够被快速评估影响范围。后续各节将沿着这条闭环逐步展开,从命名空间与权限开始,最终落到可运行的治理看板。