创建和管理架构(数据库)
本文介绍如何在 Unity Catalog 中创建和管理架构(数据库)。 架构包含表、视图、卷、模型和函数。 在目录中创建架构。
要求
你必须具有链接到在其中执行架构创建的工作区的 Unity Catalog 元存储。
必须对架构的父目录具有
USE CATALOG
和CREATE SCHEMA
数据权限。 元存储管理员或目录所有者都可以授予这些权限。 如果你是元存储管理员,则可以向自己授予这些权限。用于运行笔记本以创建架构的群集必须使用与 Unity Catalog 兼容的访问模式。 请参阅访问模式。
SQL 仓库始终支持 Unity Catalog。
创建架构
若要创建架构,可使用目录资源管理器或 SQL 命令。
目录资源管理器
- 登录到链接到元存储的工作区。
- 单击 “目录”。
- 在左侧的“目录”窗格中,单击要在其中创建架构的目录。
- 在“详细信息”窗格中,单击“创建架构”。
- 为架构命名并添加任何有助于用户了解架构用途的注释。
- (可选)指定托管存储位置。 需要对目标外部位置具有
CREATE MANAGED STORAGE
权限。 请参阅在 Unity Catalog 中指定托管存储位置。 - 单击“创建”。
- 为目录分配权限。 请参阅 Unity Catalog 特权和安全对象。
- 单击“保存”。
SQL
在笔记本或 Databricks SQL 编辑器中运行以下 SQL 命令。 括号中的项是可选的。 可以使用
SCHEMA
或DATABASE
。 替换占位符值替:<catalog-name>
:架构的父目录的名称。<schema-name>
:架构的名称。<location-path>
:可选。 需要其他特权。 请参阅在 Unity Catalog 中指定托管存储位置。<comment>
:可选说明或其他注释。<property-key> = <property-value> [ , ... ]
:可选。 要为架构设置的 Spark SQL 属性和值。
有关参数说明,请参阅 CREATE SCHEMA。
USE CATALOG <catalog>; CREATE { DATABASE | SCHEMA } [ IF NOT EXISTS ] <schema-name> [ MANAGED LOCATION '<location-path>' ] [ COMMENT <comment> ] [ WITH DBPROPERTIES ( <property-key = property_value [ , ... ]> ) ];
你可以选择省略
USE CATALOG
语句并将<schema-name>
替换为<catalog-name>.<schema-name>
。为架构分配权限。 请参阅 Unity Catalog 特权和安全对象。
还可使用 Databricks Terraform 提供程序和 databrics_schema 创建架构。 可以使用 databricks_schemas 检索架构 ID 列表
删除架构
要删除架构,可以使用目录资源管理器或 SQL 命令。 若要删除某个架构,你必须是其所有者。
目录资源管理器
必须先删除架构中的所有表,然后才能将其删除。
- 登录到链接到元存储的工作区。
- 单击 “目录”。
- 在“目录”窗格的左侧,单击要删除的架构。
- 在“详细信息”窗格中,单击右上角的烤肉串菜单 ,然后选择“删除”。
- 在“删除架构”对话框中,单击“删除”。
SQL
在笔记本或 Databricks 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 Catalog 中创建表和创建和使用卷。