本文介绍如何在 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 中的架构所需的权限取决于更新:
- 为了更改所有者,你必须是所有者,或者拥有架构的
MANAGE和USE SCHEMA以及父目录的USE CATALOG。 - 若要重命名架构,你必须是所有者,或者在架构上拥有
MANAGE和USE SCHEMA,并在父目录上拥有USE CATALOG。 - 若要添加或更新批注,你必须是所有者,或在架构上拥有
USE SCHEMA和MANAGE,并且在父目录上拥有USE CATALOG。 - 若要添加或更新标记,你必须是所有者,或对架构具有
USE SCHEMA和MODIFY,同时在父目录上具有USE CATALOG。 - 若要添加表,您必须是架构所有者,或者在架构上拥有
USE SCHEMA和CREATE TABLE,并在父目录上拥有USE CATALOG。 - 若要添加卷,您必须是架构所有者,或拥有架构上的
USE SCHEMA和CREATE VOLUME权限,以及父目录上的USE CATALOG权限。 - 若要授予和撤销对架构的权限,你必须是架构所有者、父目录的所有者或元存储管理员,或拥有架构的
MANAGE和USE SCHEMA与父目录的USE CATALOG。
目录浏览器
登录连接到 Unity Catalog 元数据存储的工作区。
单击
目录。
在左侧目录窗格中,单击包含架构的目录,然后单击架构以打开“架构详细信息”页。
或者,可以使用“目录窗格”中的输入以筛选字段来搜索架构。
使用“架构详细信息”页面上的以下页面元素来更新架构:
- “概述”选项卡:更新所有者、添加或更新标记、添加或更新注释。 请参阅管理 Unity Catalog 对象所有权、将标记应用于 Unity Catalog 安全对象以及向数据和 AI 资源添加注释。
- “权限”选项卡:授予和撤销架构上的权限。 请参阅在 Unity Catalog 中管理权限。
-
菜单:重命名架构。
- “创建”按钮:在架构中创建表或卷。 请参阅 使用文件上传创建或修改表 和 什么是“Unity Catalog”卷?。
SQL
- 若要更改所有者、添加或更新标记、设置架构属性和管理架构中表的预测优化,请在笔记本或 SQL 查询编辑器中运行
ALTER SCHEMA命令。 请参阅 ALTER SCHEMA。 - 若要授予或撤销权限,请使用
GRANT或REVOKE命令。 请参阅 GRANT 和 REVOKE。 - 若要将表、卷和其他数据和 AI 资产添加到架构,请参阅有关创建资产的文档(例如 Azure Databricks 表 或 Unity 目录中的管理模型生命周期)。
- 若要使用 SQL 重命名架构,必须创建一个新架构,并将所有资产移动到该新架构中。
删除架构
若要删除 Unity Catalog 目录中的架构,可以使用目录资源管理器或 SQL 命令。
需要的权限:若要删除 Unity Catalog 中的架构,你必须是其所有者。
目录浏览器
必须先删除架构中的所有表,然后才能将其删除。
登录到链接到元存储的工作区。
单击
目录。
在左侧的“目录”窗格中,单击要删除的架构。
在详细信息窗格中,单击右上角的
,然后选择删除。
在删除架构对话框中,单击“删除”。
SQL
在笔记本或 SQL 查询编辑器中运行以下 SQL 命令。 括号中的项是可选的。 请替换占位符 <schema-name>。
有关参数说明,请参阅 DROP SCHEMA。
如果使用不带 DROP SCHEMA 选项的 CASCADE,则必须先删除架构中的所有表,然后才能将其删除。
DROP SCHEMA [ IF EXISTS ] <schema-name> [ RESTRICT | CASCADE ]
例如,删除名为 inventory_schema 的架构及其表:
DROP SCHEMA inventory_schema CASCADE
后续步骤
若要了解如何将表和卷添加到架构,请参阅 Azure Databricks 表和什么是 Unity 目录卷?