创建架构
本文介绍如何在 Unity 目录和旧版 Hive 元存储中创建架构。
若要了解 Azure Databricks 中的架构,包括 Unity 目录和 Hive 元存储中的架构行为的比较,请参阅什么是 Azure Databricks 中的架构?。
开始之前
若要在 Unity 目录中创建架构,请执行以下操作:
- 你必须具有链接到在其中执行架构创建的工作区的 Unity Catalog 元存储。
- 必须对架构的父目录具有
USE CATALOG
和CREATE SCHEMA
数据权限。 元存储管理员或目录所有者都可以授予这些权限。 如果你是元存储管理员,则可以向自己授予这些权限。 - 若要为架构中的表和卷指定可选的托管存储位置,必须在 Unity Catalog 中定义外部位置,并且必须具有对外部位置的
CREATE MANAGED STORAGE
权限。 请参阅在 Unity Catalog 中指定托管存储位置。 - 用于运行笔记本以创建架构的群集必须使用与 Unity Catalog 兼容的访问模式。 请参阅访问模式。 SQL 仓库始终支持 Unity Catalog。
在 Hive 元存储中创建架构,请执行以下操作:
- 所需的权限取决于你是否使用表访问控制。 请参阅 Hive 元存储特权和安全对象(旧版)。
创建架构
若要在 Unity Catalog 中创建架构(数据库),可以使用 Catalog Explorer 或 SQL 命令。 若要在 Hive 元存储中创建架构,必须使用 SQL 命令。
目录资源管理器
- 登录链接到 Unity Catalog 元存储的工作区。
- 单击 “目录”。
- 在左侧的“目录”窗格中,单击要在其中创建架构的目录。
- 在“详细信息”窗格中,单击“创建架构”。
- 为架构命名并添加任何有助于用户了解架构用途的注释。
- (可选)指定托管存储位置。 需要对目标外部位置具有
CREATE MANAGED STORAGE
权限。 请参阅在 Unity Catalog 中指定托管存储位置和架构的托管位置。 - 单击 “创建” 。
- 授予对架构的权限。 请参阅在 Unity Catalog 中管理权限。
- 单击“ 保存”。
SQL
在笔记本或 SQL 查询编辑器中运行以下 SQL 命令。 括号中的项是可选的。 可以使用
SCHEMA
或DATABASE
。 替换占位符值替:<catalog-name>
:架构的父目录的名称。 如果要在 Hive 元存储中创建架构,并且位于启用了 Unity 目录的工作区中,请使用hive_metastore
作为目录名称。 如果工作区未启用 Unity Catalog,请不要指定目录。<schema-name>
:架构的名称。<location-path>
:托管存储位置的可选路径。 与 Unity Catalog 的MANAGED LOCATION
和 Hive 元存储的LOCATION
一起使用。 在 Unity Catalog 中,必须拥有对指定外部位置的CREATE MANAGED STORAGE
权限。 请参阅在 Unity Catalog 中指定托管存储位置和架构的托管位置。<comment>
:可选说明或其他注释。<property-key> = <property-value> [ , ... ]
:可选。 要为架构设置的 Spark SQL 属性和值。
有关详细参数说明,请参阅 CREATE SCHEMA。
CREATE { DATABASE | SCHEMA } [ IF NOT EXISTS ] <catalog-name>.<schema-name> [ MANAGED LOCATION '<location-path>' | LOCATION '<location-path>'] [ COMMENT <comment> ] [ WITH DBPROPERTIES ( <property-key = property_value [ , ... ]> ) ];
授予对架构的权限。 关于 Unity Catalog 权限,请参阅在 Unity Catalog 中管理权限。
还可使用 Databricks Terraform 提供程序和 databrics_schema 创建架构。 可以使用 databricks_schemas 检索架构 ID 列表
后续步骤
- 若要了解如何向架构添加表、视图和卷,请参阅什么是表和视图?、什么是视图?以及什么是 Unity 目录卷?
- 若要了解如何将 AI 模型添加到架构,请参阅管理 Unity Catalog 中的模型生命周期。
- 若要了解如何查看、更新和删除现有架构,请参阅管理架构。