本文介绍如何在 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