管理架构
本文介绍如何在 Unity Catalog 中查看、更新和删除目录。
另请参阅什么是 Azure Databricks 中的架构?和创建架构。
注意
在 Hive 元存储中,必须使用 SQL 命令管理架构。 旧版 Hive 元存储中的行为不同于 Unity Catalog。 所需的权限取决于你是否使用表访问控制。 请参阅 Hive 元存储中的架构和 Hive 元存储特权和安全对象(旧版)。
开始之前
若要在 Unity Catalog 中使用架构,请执行以下操作:
- 你必须具有链接到在其中执行架构创建的工作区的 Unity Catalog 元存储。
- 用于运行笔记本以管理架构的群集必须使用与 Unity Catalog 兼容的访问模式。 请参阅访问模式。 SQL 仓库始终支持 Unity Catalog。
- 在 Unity Catalog 中更改、查看和删除架构所需的权限列在以下各部分中。
查找和查看架构
在 Unity Catalog 中,用户可以查看他们对其拥有 USE SCHEMA
权限的所有架构,以及架构的父目录的 USE CATALOG
权限。 要访问或列出架构中的表或视图,用户还必须对该表或视图具有 SELECT
权限。
目录资源管理器
- 登录链接到 Unity Catalog 元存储的工作区。
- 单击 “目录”。
- 在左侧的目录窗格中,单击包含架构的目录(如果位于 Hive 元存储中,则为
hive_metastore
)。
或者,可以使用“目录”窗格中的键入搜索字段,搜索架构。
SQL
在笔记本或 SQL 查询编辑器中运行 SHOW SCHEMAS
以列出目录中的所有架构或与正则表达式匹配的目录。 运行 DESCRIBE SCHEMA
以获取有关架构的详细信息。 请参阅 SHOW SCHEMAS 和 DESCRIBE SCHEMA。
更新架构
若要更改 Unity Catalog 目录中的架构,可以使用目录资源管理器或 SQL 命令。
所需权限:更新 Unity Catalog 中的架构所需的权限取决于更新:
- 若要更改所有者,你必须是所有者。
- 若要重命名架构,你必须是所有者。
- 若要添加或更新注释或标记,你必须是所有者或拥有架构的
USE SCHEMA
和MODIFY
和父目录的USE CATALOG
。 - 若要添加表,你必须是架构所有者,或者拥有架构的
USE SCHEMA
和CREATE TABLE
与父目录的USE CATALOG
。 - 若要添加卷,你必须是架构所有者或拥有架构的
USE SCHEMA
和CREATE VOLUME
和父目录的USE CATALOG
。 - 若要授予和撤销对架构的权限,你必须是架构所有者、父目录的所有者或元存储管理员。
目录资源管理器
登录链接到 Unity Catalog 元存储的工作区。
单击 “目录”。
在左侧目录窗格中,单击包含架构的目录,然后单击架构以打开“架构详细信息”页。
或者,可以使用“目录”窗格中的键入搜索字段,搜索架构。
使用“架构详细信息”页面上的以下页面元素来更新架构:
- “概述”选项卡:更新所有者、添加或更新标记、添加或更新注释。 请参阅管理 Unity Catalog 对象所有权、将标记应用于 Unity Catalog 安全对象以及向数据和 AI 资源添加注释。
- “权限”选项卡:授予和撤销架构上的权限。 请参阅在 Unity Catalog 中管理权限。
- kebab 菜单:重命名架构。
- “创建”按钮:在架构中创建表或卷。 请参阅使用文件上传创建或修改表和什么是 Unity Catalog 卷?。
SQL
- 若要更改所有者、添加或更新标记、设置架构属性和管理架构中表的预测优化,请在笔记本或 SQL 查询编辑器中运行
ALTER SCHEMA
命令。 请参阅 ALTER SCHEMA。 - 若要授予或撤销权限,请使用
GRANT
或REVOKE
命令。 请参阅 GRANT 和 REVOKE。 - 若要将表、卷和其他数据和 AI 资产添加到架构,请参阅创建资产的文档(例如 什么是表和视图? 或 管理 Unity 目录中的模型生命周期)。
- 若要使用 SQL 重命名架构,必须创建一个新架构,并将所有资产移动到该新架构中。
删除架构
若要删除 Unity Catalog 目录中的架构,可以使用目录资源管理器或 SQL 命令。
需要的权限:若要删除 Unity Catalog 中的架构,你必须是其所有者。
目录资源管理器
必须先删除架构中的所有表,然后才能将其删除。
- 登录到链接到元存储的工作区。
- 单击 “目录”。
- 在“目录”窗格的左侧,单击要删除的架构。
- 在“详细信息”窗格中,单击右上角的烤肉串菜单 ,然后选择“删除”。
- 在“删除架构”对话框中,单击“删除”。
SQL
在笔记本或 SQL 查询编辑器中运行以下 SQL 命令。 括号中的项是可选的。 请替换 <schema-name>
占位符。
有关参数说明,请参阅 DROP SCHEMA。
如果使用不带 CASCADE
选项的 DROP SCHEMA
,则必须先删除架构中的所有表,然后才能将其删除。
DROP SCHEMA [ IF EXISTS ] <schema-name> [ RESTRICT | CASCADE ]
例如,删除名为 inventory_schema
的架构及其表:
DROP SCHEMA inventory_schema CASCADE
后续步骤
若要了解如何将表和卷添加到架构,请参阅什么是表和视图?以及什么是 Unity 目录卷?