本文介绍如何在 Unity Catalog 中查看、更新和删除目录。 一个目录包含架构(数据库),而一个架构包含表、视图、卷、模型和函数。
有关目录的详细信息,请参阅 Azure Databricks 中的目录是什么?和创建目录。 若要了解如何授予和撤销对目录的访问权限,请参阅 Unity Catalog 权限和安全对象。
若要了解如何管理外部目录(即在外部数据系统中镜像数据库的 Unity Catalog 对象),请参阅管理和使用外部目录。
要求
若要查看、更新或删除目录,请执行以下操作:
- 必须具有链接到在其中执行任务的工作区的 Unity Catalog 元存储。 
- 用于运行笔记本以管理目录的群集必须使用与 Unity Catalog 兼容的访问模式。 请参阅访问模式。 - SQL 仓库始终支持 Unity Catalog。 
所需的权限因任务而异,并在后面的每个部分中提供。
查看目录详细信息
              所需权限:用户可以查看他们拥有的所有目录或已为其分配 USE CATALOG 或 BROWSE 权限的所有目录的元数据。
注释
具有 BROWSE 外部目录特权的用户可能会在目录资源管理器或通过 Unity 目录 API 访问元数据时看到过时的元数据。 元数据的可见性取决于外部目录上次运行 REFRESH 的时间。
若要查看有关目录的信息,可以使用目录资源管理器或 SQL 命令。
目录资源管理器
- 登录到链接到元存储的工作区。 
- 单击 - 目录。 
- 在“目录”窗格中,找到目录并单击其名称。 - 页面顶部将列出一些详细信息。 可以在“架构”、“详细信息”、“权限”和“工作区”选项卡上查看其他选项。 
SQL
在笔记本或 SQL 查询编辑器中运行 SHOW CATALOGS 以列出元存储中的所有目录或与正则表达式匹配的目录。
运行以下 SQL 命令以获取有关目录的详细信息。 括号中的项是可选的。 请替换 <catalog-name> 占位符。
DESCRIBE CATALOG <catalog-name>;
使用 CATALOG EXTENDED 获取完整详细信息。
有关详细信息,请参阅 DESCRIBE CATALOG。
更新目录
若要更改(或更改)目录,可以使用目录资源管理器或 SQL 命令。
所需权限:更新目录所需的权限取决于更新:
- 要更改所有者,你必须是所有者,或者对目录拥有 MANAGE和USE CATALOG。
- 若要重命名目录,你必须是所有者,或对目录拥有 MANAGE和USE CATALOG权限。
- 若要添加或更新批注或标记,您必须是所有者或具有目录上的 MANAGE或MODIFY和USE CATALOG。
- 若要授予和撤销目录权限,你必须是目录所有者、元存储管理员或对目录拥有 MANAGE权限和USE CATALOG权限。
目录资源管理器
- 登录链接到 Unity Catalog 元存储的工作区。 
- 单击 - 目录。 
- 在“目录”窗格的左侧,单击要更新的目录。 
- 使用目录详细信息页上的以下页面元素更新目录: - “概述”选项卡:更新所有者、添加或更新标记、添加或更新注释。 请参阅管理 Unity Catalog 对象所有权、将标记应用于 Unity Catalog 安全对象以及向数据和 AI 资源添加注释。
- “权限”选项卡:授予和撤销目录上的权限。 请参阅在 Unity Catalog 中管理权限。
- 
              Kebab 菜单:重命名目录。 
- “创建架构”按钮:向目录添加架构。 请参阅创建架构。
 
SQL
- 若要更改所有者、添加或更新标记以及管理目录中表的预测优化,请在笔记本或 SQL 查询编辑器中运行 ALTER CATALOG命令。 请参阅 ALTER CATALOG。
- 若要授予或撤销权限,请使用 GRANT或REVOKE命令。 请参阅 GRANT 和 REVOKE。
- 若要向目录添加架构,请参阅 Azure Databricks 中的架构是什么?。
- 若要使用 SQL 重命名目录,必须创建一个新目录,并将所有资产移动到该新目录中。
删除目录
若要删除目录,可以使用目录资源管理器或 SQL 命令。
所需权限:目录所有者,或对目录拥有 MANAGE 和 USE CATALOG。
目录资源管理器
必须先删除目录中除 information_schema 以外的所有架构,才能删除目录。 这包括自动创建的 default 架构。
- 登录到链接到元存储的工作区。 
- 单击 - 目录。 
- 在“目录”窗格的左侧,单击要删除的目录。 
- 在详细信息窗格中,单击“ - 创建数据库”按钮左侧的“,然后选择“删除”。 
- 在“删除目录”对话框中,单击“删除”。 
SQL
在笔记本或 Databricks SQL 编辑器中运行以下 SQL 命令。 括号中的项是可选的。 请替换 <catalog-name> 占位符。
有关参数说明,请参阅 DROP CATALOG。
如果使用不带 DROP CATALOG 选项的 CASCADE,则必须先删除目录中除 information_schema 之外的所有架构,然后才能删除目录。 这包括自动创建的 default 架构。
DROP CATALOG [ IF EXISTS ] <catalog-name> [ RESTRICT | CASCADE ]
例如,若要删除名为 vaccine 的目录及其架构:
DROP CATALOG vaccine CASCADE