概述
说明:
当用户在 WeData 上绑定了 DLC 引擎,并且 DLC 引擎开通了 TCLake,那么资产目录将转换为 Catalog 页面。
Catalog 是 WeData 提供的统一数据治理的解决方案,旨在将多种格式的结构化与非结构化数据纳入统一的管控中,同时支持对机器学习模型等 AI 资产的精细化管理。内置多模态统一数据目录、统一权限管理,提供变更、血缘、数据质量、访问日志等核心能力。
在 Catalog 中,元数据按三层结构设计和管理: Catalog-Schema-Table/View/Function/Model/Volume:
第一层 Catalog:顶层命名空间,对应组织单位 / 团队 / 项目 / 数据域等。
第二层 Schema:在 Catalog 下,用来进一步分类,如按模块、子系统、业务域等划分。
第三层 数据对象:Data/AI 对象,例如 tables、models。
表 (tables)
视图 (views)
Volumes ( 非结构化 / 半结构化数据)
函数 (functions, UDF)
模型 (AI/ML models) — 使用 MLflow 注册后也纳入治理体系
功能介绍
Catalog 为数据治理提供了一整套功能,覆盖权限、治理、血缘、访问记录和变更记录等功能。具体体现在以下三层结构中。
1. Catalog 层
在 Catalog 层,当前分为数据类Catalog 、模型类Catalog 和卷Catalog,数据类Catalog 下支持对table/view/function 实体对象的管理,模型类Catalog 下支持对model 实体对象的管理,卷Catalog 下支持对 volume 实体对象的管理。

单击左侧具体的 Catalog 名称,进入 Catalog 详情页。支持 catalog 描述、catalog 下 schema 列表信息、catalog 基础信息和技术信息展示和管理。新创建一个 catalog,会自动创建默认schema:default 和 information_schema,便于用户快速进行 schema 和实体对象的进行管理。
基础信息:展示标签和负责人,并且支持编辑。
技术信息:展示创建时间、创建人和数据变更时间。
权限:支持对 Catalog 进行权限管控。具体参考Catalog 权限部分。

2. Schema 层
在 Schema 层,根据 Catalog 类型的不同,创建出不同类型的 schema,例如数据类 schema、model 类 schema、卷类型的 schema,但是展示信息基本一致:展示 Schema 描述,和 schema下的数据对象的基本信息,例如 table 的名称、描述信息、创建时间,右侧展示 Schema 的基础信息和技术信息。

3. 实体对象层
在第三层实体对象层,不同数据对象,展示的详细信息有所不同,主要分为:
3.1 数据表
数据表展示丰富的元数据信息,主要包含概览信息、权限、表变更信息、血缘、数据质量、访问日志等(“血缘”、“产出与变更”、“数据质量”、“访问记录”、“使用说明”的详细说明,请参考数据发现>表详情内容),以下是各个 Tab 页的概述介绍:
概览页:展示表描述,展示表字段的基本元数据信息,右侧展示基础信息和技术信息,在技术信息中,可以查看该表所属的数据源类型、数据库、关联数据源等情况,追溯表来源,还能查看存储路径和最近 DDL 变更时间,了解表的元数据变更时间和存储情况。
血缘:数据表的血缘展示,展示数据流转全链路,包括数据/模型来源、去向、以及关联任务等。
产出与变更:产出页面记录数据产出任务详情,展示任务 ID、第几次执行、计划调度时间、开始时间、产出时间、执行耗时和产出耗时,了解产出任务的基本情况;变更页面展示元数据的变更记录,记录用户在最近30天操作的元数据变更情况。
数据质量:数据质量提供数据表配置的质量监控规则、以及表的数据仪表盘质量概览。详细的操作说明请参见 数据发现>表详情 中的数据质量。
访问日志:记录用户在 WeData 中对数据表的访问情况,支持查看不同用户对该表的访问时间、访问类型、相关任务 ID和该任务的执行次数。
使用说明:支持用户对实体对象进行补充说明,主要用于业务侧对实体对象补充业务信息。
权限:支持对 table 类对象进行权限 (privilege) 授权与撤销。具体参考 Catalog 权限 部分。
3.2 模型
模型的详情页分为概览页和权限页,在概览页中,集中展示模型的基本信息,如描述、模型版本、部署状态、别名标签等信息,同时支持在Catalog模块进行部署和删除操作;支持点击具体的模型版本,查看特定模型版本的血缘信息。权限信息具体参考Catalog 权限部分。
3.3 Volume
Volume 的详情中,展示了 volume 的描述、文件的详情信息(创建时间、大小、所有者等),支持新建文件夹,并支持文件的上传、预览(当前支持 CSV,TEXT 和 PDF)和下载,同时将 volume 纳入统一权限管理中,权限信息具体参考Catalog 权限部分。页面右侧展示volume的基本信息和技术信息,便于查看和修改volume的负责人和标签,了解创建时间和创建人。
Catalog 权限
Catalog 权限在 WeData 平台和项目权限管理的基础上,还基于特权和对象所有权:决定谁能访问或管理哪些 Catalog / Schema / Table / View / Volume / Function 等对象,建立了 Catalog 权限模型。
权限理念与原则
整体理念:通过以 Catalog 为数据安全边界、采用层级化命名空间权限模型,并区分发现与访问权限,实现了受控、可扩展且符合最小权限原则的数据治理体系。
原则1: 采用层级化(Hierarchical)权限校验模型
按照catalog-schema-table/view/model/volume/function层级进行权限管控,对象访问必须沿层级自上而下逐级校验,任一层级权限不足即拒绝访问。
举例:表的访问权限,必须有 use catalog、use schema、select table 权限,表的访问权限才能生效,单独的 select 权限,不能生效。
USE CATALOG 本身不等于你能看数据、查表、改表,它不是数据权限,只是上下文权限 / 作用域权限,但是真正操作 catalog 里的任何对象(schema / table / view / volume),必须先有 USE CATALOG。
原则2: Owner 责任模型
Owner 拥有对象的完全管理权限,但其权限仍受上层治理边界约束,不构成全局特权。
举例:schema owner的权限要生效,必须有父 catalog 的 use 权限,owner 权限才能生效。
原则3: 最小权限原则(Principle of Least Privilege)
系统默认拒绝访问,仅通过显式授权开放必要权限,避免隐式继承或自动放行。
举例:当授权table 的select权限时,会提示同时需要use catalog 和 use schema权限,但是不会默认授予
原则4: 发现(Discover) ≠ 使用(Use)
支持数据都应该被看见,但是严格限制使用。
举例:
BROWSE:看见对象存在
USE CATALOG:真正进入并使用
角色和权限说明
WeData 平台定义了资产管理员角色,资产管理员在 Catalog 中拥有对所有 catalog-schema-table 等实体对象的管理和读写权限。
另外,Catalog 定义了特权和对象所有权,对三个层级进行细粒度的权限管控,具体如下:
对象所有权:
Catalog 中每个层级和实体对象 (catalog / schema / table / view / volume / function / model) 都有一个 owner。Owner 拥有对该对象的完全控制权,包括修改 / 授权 / 转让 / 元数据管理,同时支持授权和权限回收。
权限清单:授权主体可以授予相关用户的权限清单:
资源类型 | 权限点 | 权限对象 | 依赖权限点(权限可生效) | 权限点简述 |
MetaLake | create catalog | MetaLake | - | 授予创建数据目录权限 |
Catalog | use catalog | Catalog | - | 授予使用数据目录权限 |
| alter catalog | Catalog | use catalog | 授予修改数据目录权限 |
| drop catalog | Catalog | use catalog | 授予删除数据目录权限 |
| create schema | Catalog | use catalog | 授予创建Schema权限 |
| browse | Catalog | - | 授予查看数据目录中元数据对象的权限 |
| grant | Catalog | - | 授予可管理元数据对象授权的权限 |
| all privileges | Catalog | - | 授予当前对象所有权限 |
Schema | use schema | Catalog、Schema | use catalog | 授予使用Schema权限 |
| alter schema | Catalog、Schema | use catalog、use schema | 授予修改Schema权限 |
| drop schema | Catalog、Schema | use catalog、use schema | 授予删除Schema权限 |
| create table | Catalog、Schema | use catalog、use schema | 授予创建表或视图权限 |
| create function | Catalog、Schema | use catalog、use schema | 授予创建函数权限 |
| create volume | Catalog、Schema | use catalog、use schema | 授予创建文件卷权限 |
| create model | Catalog、Schema | use catalog、use schema | 授予创建模型权限 |
| grant | Schema | use catalog | 授予可管理元数据对象授权的权限 |
| all privileges | schema | use catalog | 授予当前对象所有权限 |
Table | select table | Catalog、Schema、Table | use catalog、use schema | 授予查询表或视图数据权限 |
| alter table | Catalog、Schema、Table | use catalog、use schema | 授予修改表或视图元数据权限 |
| drop table | Catalog、Schema、Table | use catalog、use schema | 授予删除表或视图权限 |
| insert table | Catalog、Schema、Table | use catalog、use schema | 授予插入表数据权限 |
| delete table | Catalog、Schema、Table | use catalog、use schema | 授予删除表数据权限 |
| grant | Table | use catalog、use schema | 授予可管理元数据对象授权的权限 |
| all privileges | Table | use catalog、use schema | 授予当前对象所有权限 |
Function | use function | Catalog、Schema、Function | use catalog、use schema | 授予使用函数权限 |
| alter function | Catalog、Schema、Function | use catalog、use schema | 授予修改函数权限 |
| drop function | Catalog、Schema、Function | use catalog、use schema | 授予删除函数权限 |
| grant | Function | use catalog、use schema | 授予可管理元数据对象授权的权限 |
| all privileges | Function | use catalog、use schema | 授予当前对象所有权限 |
Volume | read volume | Catalog、Schema、Volume | use catalog、use schema | 授予读取文件卷权限 |
| write volume | Catalog、Schema、Volume | use catalog、use schema | 授予写入文件卷权限 |
| alter volume | Catalog、Schema、Volume | use catalog、use schema | 授予修改文件卷权限 |
| drop volume | Catalog、Schema、Volume | use catalog、use schema | 授予删除文件卷权限 |
| grant | Volume | use catalog、use schema | 授予可管理元数据对象授权的权限 |
| all privileges | Volume | use catalog、use schema | 授予当前对象所有权限 |
Model | use model | Catalog、Schema、Model | use catalog、use schema | 授予使用模型权限 |
| alter model | Catalog、Schema、Model | use catalog、use schema | 授予修改模型权限 |
| drop model | Catalog、Schema、Model | use catalog、use schema | 授予删除模型权限 |
| create model version | Catalog、Schema、Model | use catalog、use schema | 授予创建模型版本权限 |
| grant | Model | use catalog、use schema | 授予可管理元数据对象权限 |
| all privileges | Model | use catalog、use schema | 授予当前对象所有权限 |
快速开始
1. 创建 Catalog 与授权
当用户首次使用 Catalog 时,需要创建 catalog,并授权给其他用户进行进一步操作。
1.1 前置准备
WeData 的资产管理员具有数据治理模块的管理权限,拥有创建catalog权限,并且可以将“创建catalog”权限授予其他平台用户。在创建Catalog 前,需要用户是资产管理员,或者已经被授予了“创建catalog权限”,具体操作如下:
1. 在 WeData 首页,单击左侧用户管理,给相应的用户赋予“资产管理员”角色:

2. 资产管理员可以在 Catalog 页面,单击创建数据目录,进行 catalog 的创建:

或者在Catalog首页的“权限”tab页,单击授权,给相应的项目成员或者用户授予“创建catalog”权限:

3. 进入授权页面,选择项目或者用户,授予 create catalog 权限:

1.2 创建 Catalog
拥有了 create catalog 权限后,可以在 Catalog 首页,单击右上角创建数据目录,进行 catalog 的创建:

根据数据类型,选择对应类型的 catalog,命名并给出描述。
1.3 授权
1. 创建 catalog 后,创建人自动成为该 catalog 的 owner,owner 可以在 catalog 的授权页面,给相关用户授予不同权限,例如 use catalog、use schema 和select table 权限:

2. 授予 use catalog、use schema 和 select table 权限:

1.4 使用场景
一般 catalog 层是最高级的数据资产分区,代表数据所有权归属和治理责任主体,企业可以按照不同的部门、业务域来创建多个catalog,用于把数据和业务联动,并可以用权限来进行管理。例如,企业可以根据业务领域,创建代表不同业务的 catalog:电商业务、物流管理、市场管理、风险管理、财务管理等等。
根据不同的业务域,来分配不同的 catalog 权限,如 Browse 权限,use catalog 权限,alter catalog 权限等,也可以将不同业务域的 catalog owner 转交给对应的业务域责任人,明确治理责任主体。
2. 创建 Schema 以及其他数据对象
2.1 创建 Schema
在创建好 Catalog 后,具有创建 schema 权限,且同时具有父 catalog 的 use catalog 权限的用户,可以在 catalog 页面创建 schema。当然 Catalog owner 也同样具有创建 Schema 的权限:

2.2 创建数据表等数据对象
Schema 下的数据表创建,可以通过在 DLC 数据源中创建,或者在 WeData 中通过 create table 等语句创建;Model 可以在模型模块创建;Volume 支持在 Catalog 下的 Schema 下创建,同时进行文件的上传下载和预览。
2.3 使用场景
在Schema层,可以按照“数据加工阶段或数据主题”划分,例如在“电商业务”的 Catalog 下,可以按照数据加工阶段创建多个 Schema:
Schema 名 | 含义 | 数据来源 | 面向人群 |
ods | 原始数据层 | 直接来自业务系统 / 日志 / Kafka | 数据工程师 |
dwd | 明细标准层 | 清洗、结构化后的事实数据 | 数据分析师 |
dws | 主题汇总层 | 主题宽表、轻度汇总 | BI、运营 |
ads | 应用数据层 | 报表/指标/标签结果 | 业务人员、产品 |
feature | 特征层 | 机器学习特征 | 算法工程师 |
不同的 Schema下可以管理多张数据表,或者管理多个 model 以及模型版本等。
然后将不同的 schema 按照不同使用人群,赋予相应的权限组合,例如面向 BI 和运营人员,需要赋予 use catalog、use schema、select table、alter table 等权限,满足其业务分析的需要。