共用方式為


建立結構描述

本文說明如何在 Unity Catalog 和舊版 Hive 中繼存放區中建立架構。

若要瞭解 Azure Databricks 中的架構,包括 Unity Catalog 和 Hive 中繼存放區中 schema 行為的比較,請參閱 Azure Databricks 中的架構為何?

開始之前

若要在 Unity Catalog中建立 schema:

  • 您必須將 Unity Catalog 中繼存放區 連結至您執行 schema 建立的工作區where。
  • 您必須在 schema的父項 catalog上擁有 USE CATALOGCREATE SCHEMA數據許可權。 中繼存放區系統管理員或 catalog 的擁有者都可以 grant 這些許可權。 如果您是中繼存放區系統管理員,您可以自行 grant 這些許可權。
  • 若要為 schema中的 tables 和 volumes 指定選擇性的受控儲存位置,必須在 Unity Catalog中定義外部位置,而且您必須具有外部位置的 CREATE MANAGED STORAGE 許可權。 請參閱 在 Unity Catalog中指定受控儲存位置。
  • 您用來執行筆記本來建立 schema 的叢集必須使用 Unity Catalog相容存取模式。 請參閱存取模式。 SQL 倉儲總是支援 Unity Catalog。

若要在 Hive 元數據庫中建立 schema:

建立 schema

若要在 Unity Catalog中建立 schema,您可以使用 Catalog Explorer 或 SQL 命令。 若要在Hive中繼存放區中建立 schema,您必須使用 SQL 命令。

Catalog 探索者

  1. 請登錄到已連結到 Unity Catalog 中繼儲存區的工作區。
  2. 點選 Catalog 圖示Catalog
  3. 在左側的 [Catalog] 窗格中,按下您要在 [catalog] 中建立的 schema。
  4. 在詳細資料窗格中,按 建立 schema
  5. 提供 schema 名稱,並新增任何可協助使用者瞭解 schema用途的批註。
  6. (選擇性)指定受控儲存位置。 CREATE MANAGED STORAGE需要目標外部位置的許可權。 請參閱 在 Unity 中指定受控儲存位置,以及架構的受控位置。
  7. 按一下 [建立]。
  8. Grant 在 schema上的許可權。 請參閱 在 Unity Catalog中管理權限。
  9. 按一下 [檔案] 。

SQL

  1. 在筆記本或 SQL 查詢編輯器中執行下列 SQL 命令。 括弧中的項目是選擇性的。 您可以使用 SCHEMADATABASE。 替換佔位符 values:

    • <catalog-name>:schema的父 catalog 名稱。 如果您要在Hive中繼存放區中建立 schema,且您是在已啟用 Unity Catalog的工作區中,請使用 hive_metastore 作為 catalog 名稱。 如果您的工作區未針對 Unity Catalog啟用,請勿指定 catalog。
    • <schema-name>是 schema的名稱。
    • <location-path>:受控儲存位置的選擇性路徑。 使用 MANAGED LOCATION 搭配 Unity Catalog,使用 LOCATION 搭配 Hive 中繼存放區。 在 Unity Catalog中,您必須擁有對所指定的路徑所在外部位置的 CREATE MANAGED STORAGE 權限。 請參閱 在 Unity 中指定受控儲存位置 ,與架構相關的受控位置
    • <comment>:選擇性描述或其他批注。
    • <property-key> = <property-value> [ , ... ]: 選用。 Spark SQL 屬性與 values 至 set 用於 schema。

    如需更詳細的參數描述,請參閱 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. Grant 的權限在 schema上。 如需 Unity 許可權,請參閱 Unity 中的 管理許可權。

您也可以使用 Databricks Terraform 提供者databricks_schema來建立 schema。 您可以使用 databricks_schemas 來擷取 schema 標識碼的 list

下一步