使用 Unity 目錄將 連線 至雲端物件記憶體

本文提供使用 Unity 目錄處理數據所需的雲端記憶體聯機組態概觀。

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

  • 將原始數據內嵌到 Lakehouse。
  • 在安全的雲端記憶體中建立和讀取受控數據表。
  • 註冊或建立包含表格式數據的外部數據表。
  • 讀取和寫入非結構化數據。

警告

請勿為使用者提供 Unity 目錄受控數據表或磁碟區的記憶體層級存取權。 這會危害數據安全性和控管。

授與使用者直接存取 Azure Data Lake 儲存體 Gen2 中外部位置記憶體的記憶體層級存取權,不會接受 Unity 目錄所維護的任何許可權或稽核。 直接存取會略過 Unity 目錄的稽核、譜系和其他安全性和監視功能,包括訪問控制和許可權。 您必須負責透過 Azure Data Lake 儲存體 Gen2 管理直接記憶體存取,並確保使用者具有透過 Fabric 授與的適當許可權。

避免針對儲存 Databricks 受控數據表的貯體授與直接儲存層級寫入許可權的所有案例。 直接透過 Unity 目錄所管理的記憶體修改、刪除或演進任何物件,可能會導致數據損毀。

注意

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

Unity 目錄如何將物件記憶體連線到 Azure Databricks?

Azure Databricks 同時支援 Azure Data Lake 儲存體 Gen2 容器和 Cloudflare R2 貯體(公開預覽),作為 Unity 目錄中註冊數據和 AI 資產的雲端儲存位置。 R2 主要適用於您想要避免數據輸出費用的使用案例,例如跨雲端和區域進行差異共用。 如需詳細資訊,請參閱 使用 Cloudflare R2 複本或將記憶體遷移至 R2

若要管理保存資料表和磁碟區之基礎雲端記憶體的存取權,Unity 目錄會使用下列物件類型:

  • 儲存體認證代表使用 Azure Data Lake 儲存體 Gen2 容器的 Azure 受控識別或服務主體,或 Cloudflare R2 貯體 R2 容器的 R2 API 令牌,來存取雲端租使用者上所儲存數據的驗證和授權機制。 每個記憶體認證都受限於 Unity 目錄存取控制原則,以控制哪些使用者和群組可以存取認證。 如果使用者無法存取 Unity 目錄中的記憶體認證,要求會失敗,Unity 目錄不會代表使用者嘗試向雲端租用戶進行驗證。 建立記憶體認證的許可權應該只授與需要定義外部位置的使用者。 請參閱建立記憶體認證以連線到 Azure Data Lake 儲存體 Gen2建立連線至 Cloudflare R2 的記憶體認證。

  • 外部位置是一個物件,可將雲端記憶體路徑與授權存取雲端記憶體路徑的記憶體認證結合。 每個儲存位置受限於 Unity 目錄存取原則,以控制哪些使用者和群組可以存取認證。 如果使用者無法存取 Unity 目錄中的記憶體位置,要求會失敗,Unity 目錄不會代表使用者嘗試向雲端租用戶進行驗證。 建立和使用外部位置的許可權應該只授與需要建立外部數據表、外部磁碟區或受控儲存位置的使用者。 請參閱 建立外部位置以將雲端記憶體連線到 Azure Databricks

    外部位置同時用於外部數據資產,例如外部數據表外部磁碟區,以及受控數據資產,例如 Managed 數據表受控磁碟區。 如需差異的詳細資訊,請參閱 數據表磁碟區

    當外部位置用於儲存 受控數據表受控磁碟區時,它稱為 受控儲存位置。 受控記憶體位置可以存在於中繼存放區、目錄或架構層級。 Databricks 建議在目錄層級設定受控記憶體位置。 如果您需要更細微的隔離,您可以在架構層級指定受控記憶體位置。 針對 Unity 目錄啟用的工作區預設不會有中繼存放區層級記憶體,但您可以在中繼存放區層級指定受控記憶體位置,以在未定義目錄層級記憶體時提供預設記憶體。 針對 Unity 目錄啟用的工作區預設會手動接收中繼存放區層級受控記憶體位置。 請參閱在 Unity 目錄和 Unity 目錄最佳做法中指定受控記憶體位置。

磁碟區 是大部分 Azure Databricks 用戶應該用來直接與雲端物件記憶體中非表格式數據互動的安全性物件。 請參閱 建立和使用磁碟區

注意

雖然 Unity 目錄支援使用雲端記憶體 URI 存取外部資料表和外部磁碟區的路徑型存取,但 Databricks 建議使用者使用資料表名稱讀取和寫入所有 Unity 目錄數據表,並使用路徑存取磁碟區 /Volumes 中的數據。

下一步

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

如果您是新的使用者,且您的工作區已針對 Unity 目錄啟用,請參閱 教學課程:在 Unity 目錄中建立資料表和授與許可權。