管理目录

本文介绍如何在 Unity Catalog 中查看、更新和删除目录。 一个目录包含架构(数据库),而一个架构包含表、视图、卷、模型和函数。

有关目录的详细信息,请参阅 Azure Databricks 中的目录是什么?创建目录。 若要了解如何授予和撤销对目录的访问权限,请参阅 Unity Catalog 权限和安全对象

若要了解如何管理外部目录(即在外部数据系统中镜像数据库的 Unity Catalog 对象),请参阅管理和使用外部目录

要求

若要查看、更新或删除目录,请执行以下操作:

所需的权限因任务而异,并在后面的每个部分中提供。

查看目录详细信息

所需权限:用户可以查看他们拥有的所有目录或已为其分配 USE CATALOGBROWSE 权限的所有目录的元数据。

若要查看有关目录的信息,可以使用目录资源管理器或 SQL 命令。

目录资源管理器

  1. 登录到链接到元存储的工作区。

  2. 单击 目录图标目录”。

  3. 在“目录”窗格中,找到目录并单击其名称。

    页面顶部将列出一些详细信息。 可以在“架构”、“详细信息”、“权限”和“工作区”选项卡上查看其他选项。

SQL

在笔记本或 SQL 查询编辑器中运行 SHOW CATALOGS 以列出元存储中的所有目录或与正则表达式匹配的目录。

运行以下 SQL 命令以获取有关目录的详细信息。 括号中的项是可选的。 请替换 <catalog-name> 占位符。

DESCRIBE CATALOG <catalog-name>;

使用 CATALOG EXTENDED 获取完整详细信息。

有关详细信息,请参阅 DESCRIBE CATALOG

更新目录

若要更改(或更改)目录,可以使用目录资源管理器或 SQL 命令。

所需权限:更新目录所需的权限取决于更新:

  • 若要更改所有者,你必须是所有者。
  • 若要重命名目录,你必须是所有者。
  • 若要添加或更新注释或标记,你必须是所有者或对目录上拥有 MODIFYUSE CATALOG 权限。
  • 若要授予和撤销目录权限,你必须是目录所有者或元存储管理员。

目录资源管理器

  1. 登录链接到 Unity Catalog 元存储的工作区。
  2. 单击 目录图标目录”。
  3. 在“目录”窗格的左侧,单击要更新的目录。
  4. 使用“目录详细信息”页面上的以下页面元素来更新目录:

SQL

  • 若要更改所有者、添加或更新标记以及管理目录中表的预测优化,请在笔记本或 SQL 查询编辑器中运行 ALTER CATALOG 命令。 请参阅 ALTER CATALOG
  • 若要授予或撤销权限,请使用 GRANTREVOKE 命令。 请参阅 GRANTREVOKE
  • 若要向目录添加架构,请参阅 Azure Databricks 中的架构是什么?
  • 若要使用 SQL 重命名目录,必须创建一个新目录,并将所有资产移动到该新目录中。

删除目录

若要删除目录,可以使用目录资源管理器或 SQL 命令。

所需权限:目录所有者。

目录资源管理器

必须先删除目录中除 information_schema 以外的所有架构,才能删除目录。 这包括自动创建的 default 架构。

  1. 登录到链接到元存储的工作区。
  2. 单击 目录图标目录”。
  3. 在“目录”窗格的左侧,单击要删除的目录。
  4. 在“详细信息”窗格中,单击“创建数据库”按钮左侧的串形菜单 Kebab 菜单,然后选择“删除”
  5. 在“删除目录”对话框中,单击“删除”。

SQL

在笔记本或 Databricks SQL 编辑器中运行以下 SQL 命令。 括号中的项是可选的。 请替换 <catalog-name> 占位符。

有关参数说明,请参阅 DROP CATALOG

如果使用不带 CASCADE 选项的 DROP CATALOG,则必须先删除目录中除 information_schema 之外的所有架构,然后才能删除目录。 这包括自动创建的 default 架构。

DROP CATALOG [ IF EXISTS ] <catalog-name> [ RESTRICT | CASCADE ]

例如,若要删除名为 vaccine 的目录及其架构:

DROP CATALOG vaccine CASCADE