主题
元数据管理
场景 空间里的表越攒越多,新同事接手时最常问的是"这张表现在到底能不能查/能不能改、归谁管"。元数据管理把外部世界接进来分三层——catalog、库、表,配合导入表、隐私列、跨空间授权和回收站,让"表在哪、归谁管、谁能读写"这件事集中到一处可搜索的目录里,不用靠人脑记、靠文档传。
能干什么
| 你想做的事 | 配置成元数据管理长这样(示意) |
|---|---|
| 想知道空间里到底有哪些表、谁能看/能写 | 表管理页搜索 + 按 catalog/库过滤,一眼看到 owner、属主空间、创建/更新时间 |
| 外部数据源(MySQL 等)里已有的表想接进来查 | 点「导入表」勾选要接入的表——只是登记元数据,不搬一份数据,登记后这张表默认只读 |
| 有些字段(比如手机号、身份证)不能随便被别的空间读到 | 在表详情「列权限」里把字段标为隐私列,单独点名谁能读 |
| 别的空间也要用我这张表 | 「读空间授权」里选目标空间、授予读权限——表还是我的,不搬数据、不改属主 |
| 表删错了想找回来 | 「回收站」里 30 天内可恢复(数据湖表;OLAP 表是物理删除,不可恢复) |
| 接入一个新的数据源/湖仓/OLAP 集群 | 「数据管理 → catalog 管理」注册 catalog,按 provider 类型(数据湖/OLAP/数据源)分别填连接信息 |
亮点
- 一处目录,而不是散落在各个人的记忆里——空间里可见的每张表(自己建的、被授予读写的、通过导入表接进来的)都能在表管理页搜到,按权限自动过滤,不会看到无权访问的表。
- 删表这类高危操作,查询和作业里都做不了——数据查询、SQL 作业提交里都不允许
DROP TABLE,必须来这里的表详情页专门操作,避免一条 SQL 手滑删了生产表。 - 跨空间用表是"借用",不是"复制"——把读/写权限授予别的空间,表还是原来的属主,数据不搬家,权限随时可以收回。
- 点名到人的隐私字段——标了隐私的列,空间级的读权限对它不生效,只有设定人和被单独点名的账号能读到,而且不能被查询/建表语句抄到别的表里绕过去。
- 删除留有余地,但如实标注边界——数据湖表删除先进回收站,30 天内本人可以恢复;OLAP(Doris)表是物理删除,回收站里能看到记录但恢复不了,这个差异不藏着掖着。
Catalog、库、表:三层怎么组织
平台把外部世界接进来分三层:先注册一个 catalog(对应一整个数据湖/OLAP 集群/数据源实例),catalog 下面是库,库下面才是表。三层分别在「数据管理」左侧菜单的三个子页面管理。
catalog 管理:先接入一整个数据湖/OLAP/数据源
从左侧「数据管理 → catalog 管理」进入,能看到当前已注册的全部 catalog,按名称/类型检索,标注哪些是平台托管、哪个空间创建、provider 是什么:

点「注册 catalog」,provider 覆盖三大类:数据湖(Iceberg/Hive/Paimon)、OLAP(Doris/Hologres/StarRocks)、数据源(MySQL/PostgreSQL/Oracle/SQLServer/MongoDB/Kafka 等十余种,含达梦、人大金仓、OceanBase 这类信创数据库):

不同 provider 的注册表单不一样,对应它们管理数据的方式也不同:
数据湖类(以 Iceberg 为例)一个 catalog 能挂多个库,靠 metastore 定位表和数据文件,填 metastore 地址 + 对象存储连接信息:

OLAP 类(以 Doris 为例)和数据源类(以 MySQL 为例)一个 catalog 绑定单个库,同一实例下的不同库要分别注册,填的是 JDBC 连接串 + 账号密码:


库管理:catalog 下面的库
从左侧「数据管理 → 库管理」进入,按 catalog 过滤,能看到当前空间属主或可见的所有库,及在每个库里的角色(属主/可见):

「新建库」数据湖、OLAP 类 catalog 都支持,但只有注册该 catalog 的属主空间能建;其它空间即便对这个 catalog 下的库有读写权限,也只能对已有库申请权限,不能新建库。数据源类不支持建库——它的库本身就是外部系统里已经存在的库,不需要、也不允许平台替它新建:

表管理:库下面的表
表管理页汇总了当前空间可见的全部表——自己建的、被授予权限的、通过导入表接进来的,都在一个列表里按 catalog/库/owner 检索:

MySQL 这类业务数据源(DATASOURCE catalog)里已经存在的表,想接进平台统一查询/授权,不需要重新建表或搬数据,「导入表」只是把它登记进平台元数据:

登记之后这张表默认只读——数据源表不能在平台里被建/改结构,查询和写入的边界仍然按数据源类型分别把关。
表详情:结构、负责人与隐私列
打开一张表的详情,能看到 schema、分区键、物理位置、当前快照、负责人,以及数据湖表的 TTL 保留配置:

个别字段涉及敏感信息时,可以在「列权限」里单独标为隐私列——标记后这个字段的读权限不再随空间开放,只有设定人和被点名的账号能读到,平台明确禁止把隐私列的内容抄写进别的表(视为洗数):

跨空间授权
ods_orders_from_mysql 的属主是「网站演示」空间,把读权限单独授予「demo_ws」空间后,对方就能查询这张表——表还是原来的属主,不发生数据复制,权限可以随时收回:

表回收站
删除的数据湖表先进回收站,列出删除人、删除时间和恢复期限(30 天),期限内表 owner 可以自己恢复或彻底删除;OLAP 表物理删除后不可恢复,这一点在页面上直接标注,不掩饰:

想了解一张表的数据到底是哪来的、删表前平台怎么帮你兜底,看数据血缘;想直接查一下这张表,看数据查询。
看元数据管理与血缘总览 →