共用方式為


建立目錄

本文說明如何在 Unity 目錄中建立目錄。 目錄包含 架構(資料庫),而架構包含數據表、檢視、磁碟區、模型和函式。

若要深入了解目錄,請參閱 什麼是 Azure Databricks 中的目錄?

注意

若要瞭解如何建立 外部目錄、鏡像外部數據系統中資料庫的 Unity Catalog 物件,請參閱 建立外部目錄。 另 請參閱管理及使用外部目錄

需求

若要建立目錄,不論目錄類型為何:

  • 您必須是 Azure Databricks 中繼存放區管理員,或具有 CREATE CATALOG 中繼存放區的許可權。
  • 您用來執行筆記本以建立目錄的計算資源必須位於 Databricks Runtime 11.3 或更新版本上,且必須使用符合 Unity 目錄規範的存取模式。 請參閱 存取模式。 SQL 倉儲一律支援 Unity 目錄。

若要建立 共享目錄

  • 差異共用共享必須已存在於您的工作區中。 請參閱 如何? 我的小組提供共享數據?
  • 您必須是中繼存放區管理員、擁有 USE PROVIDER 中繼存放區的許可權,或擁有包含共用的提供者物件。

若要建立 標準目錄

  • 如果您指定目錄的受控儲存位置,則必須具有 CREATE MANAGED STORAGE 目標外部位置的許可權。
  • 如果沒有中繼存放區層級的受控記憶體存在,則必須指定目錄的受控記憶體位置。

若要建立 外部目錄

  • 您必須是用來建立外部目錄的連線擁有者,或具有 CREATE FOREIGN CATALOG 連線的許可權。
  • 您必須在 Databricks Runtime 13.1 或更新版本上使用計算。 SQL 倉儲必須是 Pro 或無伺服器。

建立目錄

若要建立目錄,您可以使用目錄總管、SQL 命令、REST API、Databricks CLI 或 Terraform。 當您建立目錄時,會自動建立 default 兩個架構(資料庫):和 information_schema

目錄總管

  1. 登入連結至中繼存放區的工作區。

  2. 按兩下 [目錄圖示目錄]。

  3. 按兩下 [ 建立目錄 ] 按鈕。

  4. 在 [ 建立新的目錄 ] 對話框中,輸入 目錄名稱 ,然後選取您要建立的目錄 類型

    • 標準 類別目錄:組織 Unity 目錄所管理數據和 AI 資產的安全性實體物件。 除了 Lakehouse 同盟和從 Delta Sharing 共用建立的目錄之外,所有使用案例除外。
    • 外部 目錄:使用 Lakehouse Federation 鏡像外部數據系統中資料庫的安全性實體物件。 請參閱 Lakehouse 同盟設定概觀。
    • 共享 目錄:安全性實體物件,可組織與您共用的數據和其他資產,做為 Delta Sharing 共用。 從共用建立目錄可讓使用者在工作區中讀取這些資產。 請參閱 什麼是共用?
  5. 根據目錄類型,指定下列選項:

    • 針對標準類別目錄:這是選擇性的,但強烈建議您指定受控 記憶體位置。 您必須擁有 CREATE MANAGED STORAGE 作為受控儲存位置的目標外部位置許可權。 請參閱 在 Unity 目錄中指定受控儲存位置。

      您可以選擇性地指定已定義外部位置的子路徑。 如果您沒有定義外部位置,您可以按下 [建立新的外部位置] 來建立一個位置

      重要

      如果您的工作區沒有中繼存放區層級的儲存位置,您必須在建立目錄時指定受控記憶體位置。

    • 對於外部目錄:您必須選取 Connection,這是 Unity 目錄中的安全性實體物件,指定存取外部資料庫系統的路徑和認證。 請參閱 Lakehouse 同盟設定概觀。

      當您選取連線時,請輸入要鏡像的資料庫或其他 Databricks 目錄的名稱。

      需求會根據數據來源而有所不同:

      • MySQL 使用兩層命名空間,因此不需要資料庫名稱。
      • 若要連線至另一個 Databricks 工作區中的目錄,請輸入 Databricks 目錄 名稱,而不是資料庫名稱。

      如果您沒有定義連線,您可以按兩下 [建立新的連線] 來建立一個連線。

    • 針對共享目錄:您必須選取 提供者共用。 選取提供者之後,您可以選取其中一個提供者的共用。

      如果您不確定想要的提供者和共用,您可能會發現使用目錄總管瀏覽器瀏覽或搜尋提供者和共用會更容易。 請參閱 檢視提供者檢視提供者與您共用的共用。

  6. 按一下 [建立]。

  7. 在 [目錄建立!] 對話框中,按兩下 [檢視目錄] 以接受自動設定的目錄,或按兩下 [設定目錄] 來設定目錄許可權、工作區系結和元數據。

    如果您按兩下 [ 檢視目錄],連結至中繼存放區的所有工作區都可以存取目錄,並將 BROWSE 許可權授與所有帳戶使用者。 您可以略過此程式中的其餘步驟,並繼續將架構新增至目錄。 請參閱 建立架構

    您可以隨時返回目錄總管中的目錄詳細數據頁面,以更新擁有者、標籤、批註、工作區系結、許可權和架構。

  8. 在 [ 設定目錄 > 工作區] 頁面上,指定目錄所系結的工作區。

    根據預設,目錄會與連結至目前中繼存放區的所有工作區共用。 如果目錄包含應限制為特定工作區的數據,請清除 [所有工作區具有存取權] 選項,並使用 [指派工作區] 按鈕來新增這些工作區。 目前工作區必須包含。

    指派工作區之後,您可以選擇性地將其預設 的讀取和寫入 存取層級變更為 [只讀]:從清單中選取工作區,然後按兩下 [管理存取層級 ] 按鈕。

    如需詳細資訊,請參閱 限制特定工作區的目錄存取權。

  9. [下一步 ] 指派 目錄的許可權

    根據預設, BROWSE 所有帳戶使用者都有許可權,讓他們能夠在不具有數據的讀取許可權的情況下探索目錄元數據。

    若要將許可權授與使用者、群組或服務主體,請按兩下 [與],並遵循 Unity 目錄許可權和安全性實體物件中的指示。

  10. 按兩下 [下一步 ] 以新增選擇性標籤和批註 元數據

    卷標 是索引鍵/值組,可用來組織和分類目錄,以簡化數據資產的搜尋和探索。 值為選擇性值。 請參閱 將標籤套用至 Unity 目錄安全性實體物件

    批註是一個開放式字段,通常用來提供描述,以協助使用者探索目錄中的數據資產。 請參閱 將批註新增至數據和 AI 資產

  11. 按一下 [檔案] 。

  12. 將架構和資料物件新增至目錄。

    請參閱 建立架構

您可以在建立目錄之後,隨時使用目錄總管來更新擁有者、標記、批註、工作區系結和許可權。

SQL

若要建立標準目錄,請在筆記本或 SQL 查詢編輯器中執行下列 SQL 命令。 括弧中的項目是選擇性專案。 取代佔位元值:

  • <catalog-name>:目錄的名稱。

  • <location-path>:選擇性但強烈建議使用。 如果您想要將此目錄中的受控數據表儲存在與針對中繼存放區設定的預設根記憶體不同的位置,請提供儲存位置路徑。

    重要

    如果您的工作區沒有中繼存放區層級的儲存位置,您必須在建立目錄時指定受控記憶體位置。

    此路徑必須在外部位置設定中定義,而且您必須具有 CREATE MANAGED STORAGE 外部位置設定的許可權。 您可以使用外部位置組態或子路徑中定義的路徑(換句話說, 'abfss://my-container-name@storage-account-name.dfs.core.windows.net/finance''abfss://my-container-name@storage-account-name.dfs.core.windows.net/finance/product')。

  • <comment>:選擇性描述或其他批注。

CREATE CATALOG [ IF NOT EXISTS ] <catalog-name>
   [ MANAGED LOCATION '<location-path>' ]
   [ COMMENT <comment> ];

例如,若要建立名為 的 example目錄:

CREATE CATALOG IF NOT EXISTS example;

若要建立共享目錄,請在筆記本或 SQL 查詢編輯器中執行下列命令。 括弧中的項目是選擇性專案。

CREATE CATALOG [IF NOT EXISTS] <catalog-name>
USING SHARE <provider-name>.<share-name>;
[ COMMENT <comment> ];

若要建立外部目錄,請在筆記本或 SQL 查詢編輯器中執行下列命令。 括弧中的項目是選擇性專案。 取代佔位元值:

  • <catalog-name>:Azure Databricks 中目錄的名稱。
  • <connection-name>:指定數據源、路徑和存取認證的連接物件
  • <database-name>:您想要在 Azure Databricks 中鏡像為目錄的資料庫名稱。 MySQL 不需要,其使用兩層命名空間。 針對 Databricks 對 Databricks Lakehouse 同盟,請改用 catalog '<external-catalog-name>'
  • <external-catalog-name>僅限 Databricks 對 Databricks :您要鏡像的外部 Databricks 工作區中的目錄名稱。 請參閱 在另一個 Databricks 工作區上執行同盟查詢。
CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name>
OPTIONS [(database '<database-name>') | (catalog '<external-catalog-name>')];

請參閱建立外部目錄

若要限制帳戶中特定工作區的目錄存取權,也稱為工作區目錄系結,請參閱 限制特定工作區的目錄存取權。

如需詳細的參數描述,請參閱 CREATE CATALOG

建立目錄之後,請將許可權指派給目錄。 請參閱 Unity 目錄許可權和安全性實體物件

其他

Terraform:您可以使用 Databricks Terraform 提供者databricks_catalog建立目錄。 您可以使用databricks_catalogs來擷取目錄的相關信息。

REST API:使用 POST /api/2.1/unity-catalog/catalogs

Databricks CLIdatabricks catalogs create <catalog-name> [options] 如需選項清單,請執行 databricks catalogs create -h。 API 參考中也會說明選項。 請遵循上述段落中的 API 連結。

建立目錄之後,請將許可權指派給目錄。 請參閱 Unity 目錄許可權和安全性實體物件

其他相關資訊