分享方式:


什麼是 Azure Databricks 中的目錄?

目錄是 Azure Databricks Unity 目錄數據控管模型中數據組織的主要單位。 本文提供 Unity 目錄中目錄的概觀,以及如何充分利用它們。

目錄是 Unity 目錄三層命名空間 (catalog.schema.table-etc) 中的第一層。 它們包含架構,接著可以包含數據表、檢視表、磁碟區、模型和函式。 目錄會在 Azure Databricks 帳戶的 Unity 目錄中繼存放區中註冊。

Unity Catalog 物件模型圖表,著重於目錄

如何將我的數據組織成目錄?

當您設計數據控管模型時,您應該仔細思考您所建立的目錄。 作為您組織數據控管模型中的最高層級,每個目錄都應該代表數據隔離的邏輯單位和數據存取的邏輯類別,讓有效的授與階層流向架構及其包含的數據物件。 因此,目錄通常會鏡像組織單位或軟體開發生命週期範圍。 例如,您可以選擇有生產數據的目錄和開發數據的目錄,或非客戶數據的目錄,以及一個用於敏感數據的目錄。

使用目錄的數據隔離

每個目錄通常會有自己的 受控儲存位置 來儲存受控數據表和磁碟區,並在目錄層級提供實體數據隔離。 您也可以選擇將數據儲存在中繼存放區層級,為沒有自己受控儲存位置的目錄提供預設儲存位置。 您可以在架構層級新增記憶體,以取得更細微的數據隔離。

因為您的 Azure Databricks 帳戶每個區域都有一個中繼存放區,因此目錄本質上會依區域隔離。

如需詳細資訊,請參閱 什麼是 Azure Databricks 中的資料庫物件?數據在記憶體中實際分隔。

目錄層級許可權

因為任何 Unity Catalog 物件的授與都會由該物件的子系繼承,因此擁有目錄或擁有目錄的廣泛許可權非常強大。 例如,目錄擁有者在目錄和目錄中的物件上具有所有許可權,而且可以授與目錄中任何物件的存取權。 目錄中具有的使用者 SELECT 可以讀取目錄中的任何數據表。 目錄中具有的用戶 CREATE TABLE 可以在目錄中的任何架構中建立數據表。

若要強制執行最低許可權原則,用戶必須具備執行其必要工作所需的最低存取權,您通常只會將存取權授與使用者所需的階層中特定物件或層級。 但是目錄層級許可權可讓目錄擁有者管理較低層級的對象擁有者可以授與的內容。 即使使用者被授與低階數據物件的存取權,例如數據表,該使用者也無法存取該數據表,除非他們也有 USE CATALOG 包含數據表之目錄的許可權。

如需詳細資訊,請參閱 管理 Unity 目錄對象擁有權一般 Unity 目錄許可權類型,以及 數據控管和數據隔離建置組塊

目錄類型

當您建立目錄時,系統會提供兩個選項:

  • 標準目錄:一般目錄,用來作為在 Unity 目錄中組織數據物件的主要單位。 這是本文所討論的目錄類型。
  • 外部目錄:僅在 Lakehouse 同盟案例中使用的 Unity Catalog 物件。 外部目錄會鏡像外部數據系統中的資料庫,讓您能夠在 Azure Databricks 工作區中對該數據系統執行只讀查詢。 請參閱 什麼是 Lakehouse 同盟

除了這兩種目錄類型之外,當您建立新的工作區時,Azure Databricks 會自動布建下列目錄:

  • hive_metastore catalog:這是 Azure Databricks 工作區中舊版 Hive 中繼存放區所管理所有數據的存放庫。 當現有的非 Unity 目錄工作區轉換成 Unity 目錄時,舊版 Hive 中繼存放區中註冊的所有物件都會顯示在目錄中的 hive_metastore Unity 目錄中。 如需搭配 Unity 目錄使用 Hive 中繼存放區的相關信息,請參閱 使用 Unity 目錄和舊版 Hive 中繼存放區。 Hive 中繼存放區已被取代,而且所有 Azure Databricks 工作區都應該移轉至 Unity 目錄。
  • 工作區目錄:在所有新的工作區中,預設會為您建立此目錄。 一般而言,它會與您的工作區名稱共用其名稱。 如果此目錄存在,則工作區中的所有使用者(且只有您的工作區)預設可以存取它,這讓用戶能夠試用在 Unity 目錄中建立和存取數據對象的程式。 請參閱 步驟 1:確認您的工作區已啟用 Unity 目錄

默認目錄

已針對針對 Unity 目錄啟用的每個工作區設定預設目錄。 默認目錄可讓您執行資料作業,而不需要指定目錄。 如果您在執行資料作業時省略最上層目錄名稱,則會假設預設目錄。

如果您的工作區已針對 Unity 目錄自動啟用,則預先布建的工作區目錄會指定為預設目錄。 工作區管理員可以視需要變更預設目錄。

如需詳細資訊,請參閱 管理預設目錄

工作區目錄系結

如果您使用工作區來隔離用戶數據存取,您可能想要使用工作區目錄系結。 工作區目錄系結可讓您依工作區界限限制目錄存取。 例如,您可以確定工作區管理員和使用者只能從生產工作區環境存取 中的prod_catalog生產資料。 prod_workspace 除非您指定系結,否則目錄會與附加至目前中繼存放區的所有工作區共用。 請參閱 組織您的資料限制特定工作區的目錄存取。

如果您的工作區已針對 Unity 目錄自動啟用,則預先布建的工作區目錄預設會系結至您的工作區。

其他相關資訊