共用方式為


使用 Unity 目錄連線到雲端物件記憶體和服務

本文提供使用 Unity 目錄處理資料所需的雲端記憶體連線概觀,以及 Unity 目錄如何管理雲端記憶體和外部雲端服務存取權的相關信息。

注意

如果您的工作區是在 2023 年 11 月 9 日之前建立的,則可能無法啟用 Unity 目錄。 帳戶管理員必須為您的工作區啟用 Unity 目錄。 請參閱 為 Unity Catalog 啟用工作區

Unity 目錄如何使用雲端記憶體?

Databricks 建議使用 Unity 目錄來管理您儲存在雲端物件記憶體中的所有數據的存取權。 Unity 目錄提供一套工具來設定與雲端物件記憶體的安全連線。 這些連線提供完成下列動作的存取權:

  • 將原始資料匯入至 lakehouse。
  • 在 Unity Catalog 管理的雲端儲存中,建立和讀取 受管數據表受管未結構化數據磁碟區
  • 註冊或建立 外部數據表, 包含表格式數據和 外部磁碟區, 包含使用雲端提供者管理的雲端記憶體中非結構化數據。
  • 讀取和寫入非結構化數據(如 Unity 目錄 磁碟區)。

為了更具體,Unity 目錄會以兩種主要方式使用雲端記憶體:

  • 在 Databricks 中,您建立之受管表格和受管磁碟區(非結構化、非表格式數據)的預設儲存位置。 這些受控記憶體位置可以在中繼存放區、目錄或架構層級定義。 您可以在雲端提供者中建立受控記憶體位置,但其生命週期完全由 Unity 目錄管理。
  • 用於儲存外部資料表和容量的儲存位置。 這些對資料表和磁碟區的存取是由 Unity Catalog 管理,但資料生命周期和檔案佈局是由您的雲端提供者和其他資料平台管理。 通常,您會使用外部資料表在 Azure Databricks 中註冊大量現有資料,或在需要使用 Azure Databricks 外部的工具來寫入資料時,也會使用外部資料表。

如需有關受管理的與外部資料表及磁碟區的詳細資訊,請參閱 什麼是資料表?什麼是 Unity Catalog 磁碟區?

警告

請勿為非 Unity 目錄身分識別提供 Unity 目錄受控數據表或磁碟區的記憶體層級存取權。 這會損害資料安全與治理。

授與使用者、服務主體或受控識別直接存取 Azure Data Lake Storage Gen2 容器,這些容器包含 Unity 目錄所控管的數據,略過 unity 目錄。 這會將數據公開給過度許可權、外泄和未經授權的存取,同時使稽核複雜化並增加管理額外負荷。

Unity 目錄受控數據表不支援直接記憶體存取。

支援哪些雲端記憶體提供者?

Azure Databricks 同時支援 Azure Data Lake Storage Gen2 容器和 Cloudflare R2 儲存桶,作為在 Unity Catalog 中註冊的資料和 AI 資產的雲端儲存位置。 R2 主要適用於您想要避免資料輸出費用的應用情境,例如在不同雲端和地區之間進行 Delta Sharing。 如需詳細資訊,請參閱使用 Cloudflare R2 複本或將儲存體移轉至 R2

Unity 目錄如何控管雲端記憶體的存取權?

為了管理保存數據表和磁碟區之基礎雲端記憶體的存取權,Unity Catalog 會使用稱為 外部位置的安全性實體物件,該物件會定義雲端儲存位置的路徑,以及存取該位置所需的認證。 這些認證接著會在名為 儲存認證的 Unity Catalog 可保護物件中定義,。 藉由授與和撤銷 Unity 目錄中外部位置安全性實體的存取權,您可以控制雲端儲存位置中數據的存取權。 藉由在 Unity Catalog 中授予和撤銷對儲存認證安全物件的存取權,您可以控制創建外部位置對象的能力。

如需詳細資訊,請參閱使用 Unity 目錄管理雲端記憶體的存取權

雲端記憶體的路徑型存取

雖然 Unity 目錄支援使用雲端記憶體 URI 存取外部資料表和外部磁碟區的路徑型存取,但 Databricks 建議使用者使用資料表名稱讀取和寫入所有 Unity 目錄數據表,並使用 /Volumes 路徑存取磁碟區中的數據。 資料卷 是大多數 Azure Databricks 使用者用來直接與雲端物件儲存中的非表格式數據互動的可安全保護的物件。 請參閱 什麼是 Unity 目錄磁碟區?

警告

如果您使用非 Databricks 的客戶端或透過 Databricks 使用路徑方式存取來更新外部表格的元數據,這些元數據不會自動與 Unity Catalog 同步狀態。 Databricks 建議不要進行這類元數據更新,但如果您執行一個更新,則必須執行 MSCK REPAIR TABLE <table-name> SYNC METADATA,讓 Unity 目錄中的架構處於最新狀態。 請參閱 REPAIR TABLE

雲端儲存與 Unity Catalog 的最佳實踐

Azure Databricks 需要使用 Azure Data Lake Storage Gen2 作為 Azure 儲存體服務,以取得使用 Unity 目錄治理在 Azure Databricks 中處理的數據。 Azure Data Lake Storage Gen2 可讓您分隔記憶體和計算成本,並利用 Unity 目錄所提供的精細存取控制。 如果數據儲存在 OneLake 中(Microsoft Fabric 數據湖),並由 Databricks 處理(略過 Unity 目錄),您將會產生配套的記憶體和計算成本。 與 Azure Data Lake Storage Gen2 儲存、讀取和寫入資料相比,這可能導致讀取成本高出大約 3 倍,寫入成本高出大約 1.6 倍。 Azure Blob 記憶體也與 Unity 目錄不相容。

功能 Azure Blob 儲存體 Azure Data Lake Storage Gen2 OneLake
由 Unity Catalog 支援 X X
需要購買額外的 Fabric 容量 X X
支持的操作來自外部引擎
  • 閱讀
  • 閱讀
  • 讀取 (相較於從 Azure Data Lake Storage Gen2 讀取數據,讀取成本為 3 倍)。
  • 不支援寫入。

如需詳細資訊,請參閱 OneLake 文件
部署 區域性 區域性 全球
驗證 Entra ID 共用存取簽章 Entra ID 共用存取簽章 Entra ID
儲存體事件 X
軟刪除
存取控制 RBAC RBAC、ABAC、ACL RBAC (僅限資料表/資料夾,不支援快捷方式 ACL)
加密金鑰 X
存取層級 線上封存 熱存、冷存、冷藏、封存 僅限頻繁存取

Unity 目錄如何控管其他雲端服務的存取權?

Unity 目錄會使用稱為 服務認證的安全性實體物件,管理對非記憶體服務的存取。 服務認證會封裝長期雲端認證,以存取使用者需要從 Azure Databricks 連線的外部服務。

服務認證並不旨在管理用作 Unity Catalog 受控儲存位置或外部儲存位置的雲端儲存的存取權限。 針對這些使用案例,請使用儲存憑證,詳情請參閱 Unity Catalog 如何控管雲端儲存存取?

如需詳細資料,請參閱:

下一步

如果您剛以系統管理員身分開始使用 Unity 目錄,請參閱:

如果您是新的使用者,且您的工作區已針對 Unity 目錄啟用,請參閱:

若要深入瞭解如何管理雲端記憶體的存取權,請參閱:

若要深入瞭解如何管理雲端服務的存取權,請參閱: