大数据智能体工作台 DataBuddy 三级命名空间(Catalog / Schema / Object)

DataBuddy 数据目录使用 三级命名空间 来组织和定位所有数据资产。任意一张表、一个视图、一个卷或一个模型,都通过形如 catalog.schema.object 的三段式路径唯一标识。三级命名空间为跨工作空间共享、细粒度授权和资产检索提供统一的引用方式。

相关产品
大数据智能体工作台 DataBuddy 产品页,含版本规格、价格与购买入口。

一、概述

这篇说说三级命名空间的层级关系、命名规则、引用方式以及在 SQL 与 Notebook 中的使用方法。

二、命名空间结构

MetaLake(地域 + 租户级,元数据湖)

└── Catalog(顶层命名空间,类型决定可承载资产)

└── Schema(中层命名空间,类似 Database) └── 资产对象(Table / View / Volume / Model ) └── 字段 / 文件(仅特定资产类型有四级层次)

三、各层级职责

层级 类比 职责
Catalog 数据库实例 / 数据仓库 顶层命名空间,决定底层存储位置与资产类型
Schema 数据库(Database) 按业务主题、项目或环境划分对象;相当于 SQL 中的 DATABASE
对象 表、视图、卷、模型 实际承载数据或元数据的资产

四、SQL 中的三段式引用

在 Studio 中的 SQL 文件、Notebook 的 Spark SQL 单元格、Workflow SQL 任务中,你可以使用三段式路径引用任意 Catalog 下的对象:

五、卷(Volume)路径引用

卷(Volume)是非结构化数据的容器,对其下文件的访问采用以 /Volumes/ 为前缀的路径:

/Volumes/<catalog>/<schema>/<volume>/<directory>/<file>

例如:

/Volumes/ops_catalog/raw_logs/access_log/2026-06-06/access.log

六、模型 URI 引用

模型在三级命名空间之上还有版本与别名两层标识。完整的模型 URI 形如:

models:/<catalog>.<schema>.<model_name>/<version>models:/<catalog>.<schema>.<model_name>@<alias>

例如:

models:/ml_catalog.recsys.deepfm_model/3models:/ml_catalog.recsys.deepfm_model@champion

七、命名约束

元素 规则
Catalog 名称 在同一 MetaLake 内全局唯一;default 为系统保留名,不可创建或修改
Schema 名称 在同一 Catalog 内唯一;information_schema 与 default 为系统在创建 Catalog 时自动创建的 Schema
对象名称(表 / 视图 / 卷 / 模型) 在同一 Schema 内唯一
字符集 详细命名约束(长度、合法字符、大小写敏感性)由底层引擎决定

注意:default 是系统保留 Catalog 名,你无法创建同名 Catalog;information_schema 与 default 是 Catalog 创建后自动生成的 Schema 名,你也无法手工创建或重命名。

八、自动初始化的对象

·首次进入数据目录 :系统自动创建 default 和 system 两个内置 Catalog。

·创建 Catalog 后 :系统自动创建 information_schema 与 default 两个 Schema。default Schema 的内容初始为空。

九、在 Studio 中浏览三级命名空间

DataBuddy Studio 在左侧导航中提供「数据目录」入口,你可以以树形结构逐层展开 Catalog → Schema → 对象 → 字段:

1. 进入 Studio,在左侧导航选择 数据目录 。

2. 在树中点击 Catalog 或 Schema 即可向下展开;hover 字段或表名时,可使用插入按钮把名称插入到右侧 IDE 编辑器。

3. 通过顶部搜索框可全域模糊搜索 Catalog / Schema / 资产名称(最多返回 200 条),匹配命中后目录树自动展开到对应节点。

4. 通过筛选器可仅展示指定类型(数据表、模型 / Volume / 全部)的资产。

详细操作请参考 数据目录导航。

十、全名与跨工作空间引用

每个对象都拥有一个 全名 (Fully Qualified Name),格式为 catalog.schema.object。全名是跨工作空间引用对象的标准形式:

引用场景 推荐写法
跨工作空间查询 <catalog>.<schema>.<table>
单工作空间且指定了上下文 <table> 或 <schema>.<table>
在告警 / 文档中描述资产位置 使用三段式全名,便于检索
API / SDK 调用 使用三段式全名作为标识参数

十一、使用限制

限制项 说明
系统保留名 information_schema / default 不可作为 Schema 名
跨 Catalog 联表 跨 Catalog 联表查询能力依赖底层计算引擎;DLC Spark 已支持基础的跨 Catalog 联表查询
模型对象层级 模型在三级命名空间之上还有版本与别名两层,详见 模型 Catalog

十二、常见问题

Q:为什么需要三级命名空间?两层(Schema.Table)不够吗?

A:三级命名空间为多业务线、多项目场景下的资产隔离与跨空间共享提供了顶层划分。例如可以为不同业务线创建独立的 Catalog(marketing_catalog、finance_catalog),每条业务线内部再按主题划分 Schema,避免命名冲突;同时便于按 Catalog 维度做权限批量授权。

Q:同名 Catalog 在不同工作空间是同一个吗?

A:是。Catalog 注册在 MetaLake 上,跨工作空间可见 。在工作空间 A 创建的 Catalog,在同一地域的其他工作空间中能看到同名 Catalog(实际是同一对象)。具体能否访问其内部数据,取决于权限策略与工作空间访问范围。

Q:跨 Catalog 引用的语法在 Spark 和 SQL 任务中表现一致吗?

A:基本一致。catalog.schema.object 三段式语法在 DLC Spark SQL 中已支持;执行前请确认当前计算资源对目标 Catalog 拥有 use catalog 与 use schema 权限。

十三、相关文档

·统一元数据管理架构

·结构化数据 Catalog

·非结构化数据 Catalog

·模型 Catalog

·数据目录导航

赞 (0)
上一篇 4天前
下一篇 4天前