帮你快速理解、总结文档立即下载
文档中心>大数据智能体工作台 DataBuddy>数据治理>数据目录概述>三级命名空间(Catalog / Schema / Object)

三级命名空间(Catalog / Schema / Object)

最近更新时间:2026-09-11 18:24:33
我的收藏

概述

DataBuddy 数据目录使用 三级命名空间 来组织和定位所有数据资产。任意一张表、一个视图、一个卷或一个模型,都通过形如 catalog.schema.object 的三段式路径唯一标识。三级命名空间为跨工作空间共享、细粒度授权和资产检索提供统一的引用方式。
本文介绍三级命名空间的层级关系、命名规则、引用方式以及在 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/3
models:/ml_catalog.recsys.deepfm_model@champion

命名规则

命名约束

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

自动初始化的对象

首次进入数据目录 :系统自动创建 defaultsystem 两个内置 Catalog。
创建 Catalog 后 :系统自动创建 information_schemadefault 两个 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_catalogfinance_catalog),每条业务线内部再按主题划分 Schema,避免命名冲突;同时便于按 Catalog 维度做权限批量授权。
Q:同名 Catalog 在不同工作空间是同一个吗?
A:是。Catalog 注册在 MetaLake 上,跨工作空间可见 。在工作空间 A 创建的 Catalog,在同一地域的其他工作空间中能看到同名 Catalog(实际是同一对象)。具体能否访问其内部数据,取决于权限策略与工作空间访问范围。
Q:跨 Catalog 引用的语法在 Spark 和 SQL 任务中表现一致吗?
A:基本一致。catalog.schema.object 三段式语法在 DLC Spark SQL 中已支持;执行前请确认当前计算资源对目标 Catalog 拥有 use cataloguse schema 权限。

相关文档