创建架构

本文介绍如何在 Unity 目录和旧版 Hive 元存储中创建架构。

若要了解 Azure Databricks 中的架构,包括 Unity 目录和 Hive 元存储中的架构行为的比较,请参阅什么是 Azure Databricks 中的架构?

开始之前

若要在 Unity 目录中创建架构,请执行以下操作:

  • 你必须具有链接到在其中执行架构创建的工作区的 Unity Catalog 元存储。
  • 必须对架构的父目录具有 USE CATALOGCREATE SCHEMA 数据权限。 元存储管理员或目录所有者都可以授予这些权限。 如果你是元存储管理员,则可以向自己授予这些权限。
  • 若要为架构中的表和卷指定可选的托管存储位置,必须在 Unity Catalog 中定义外部位置,并且必须具有对外部位置的 CREATE MANAGED STORAGE 权限。 请参阅在 Unity Catalog 中指定托管存储位置
  • 用于运行笔记本以创建架构的群集必须使用与 Unity Catalog 兼容的访问模式。 请参阅访问模式。 SQL 仓库始终支持 Unity Catalog。

在 Hive 元存储中创建架构,请执行以下操作:

创建架构

若要在 Unity Catalog 中创建架构(数据库),可以使用 Catalog Explorer 或 SQL 命令。 若要在 Hive 元存储中创建架构,必须使用 SQL 命令。

目录资源管理器

  1. 登录链接到 Unity Catalog 元存储的工作区。
  2. 单击 目录图标目录”。
  3. 在左侧的“目录”窗格中,单击要在其中创建架构的目录。
  4. 在“详细信息”窗格中,单击“创建架构”
  5. 为架构命名并添加任何有助于用户了解架构用途的注释。
  6. (可选)指定托管存储位置。 需要对目标外部位置具有 CREATE MANAGED STORAGE 权限。 请参阅在 Unity Catalog 中指定托管存储位置架构的托管位置
  7. 单击 “创建”
  8. 授予对架构的权限。 请参阅在 Unity Catalog 中管理权限
  9. 单击“ 保存”。

SQL

  1. 在笔记本或 SQL 查询编辑器中运行以下 SQL 命令。 括号中的项是可选的。 可以使用 SCHEMADATABASE。 替换占位符值替:

    • <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 [ , ... ]> ) ];
    
  2. 授予对架构的权限。 关于 Unity Catalog 权限,请参阅在 Unity Catalog 中管理权限

还可使用 Databricks Terraform 提供程序databrics_schema 创建架构。 可以使用 databricks_schemas 检索架构 ID 列表

后续步骤