此頁面說明如何為數據提供者設定 Azure Databricks 上的 Delta Sharing(想要使用 Delta Sharing 安全地共用數據的組織)。
如果您是數據接收方(接收使用 Delta Sharing 共享數據的組織),請參閱使用 Databricks 對 Databricks 的 Delta Sharing 分享數據的讀取方式(適用於接收方)。
Important
Delta Sharing 需要支援 Unity Catalog 的工作區。 您可以建立一個已啟用 Unity 目錄的工作區以進行共用管理。 在某些帳戶中,會自動為 Unity 目錄啟用新的工作區。 請參閱 自動啟用 Unity 目錄。
如果建立已啟用 Unity 目錄的新工作區不是選項,您可以使用 開放原始碼 Delta Sharing 專案 來部署您自己的 Delta Sharing 伺服器,以從任何平臺共用 Delta 數據表。
初始提供者設定包含下列步驟:
- 在 Unity Catalog metastore 上啟用 Delta Sharing。
- (可選)安裝 Unity Catalog CLI。
- 授予創建和管理共享及收件者的權限。
- 設定 Delta Sharing 活動的審核。
- 設定數據具體化的存留時間(TTL)。
- 設定記憶體網路存取。
Requirements
身為設定 Azure Databricks 帳戶以共用數據的數據提供者,您必須具備:
至少一個已為 Unity 目錄啟用的 Azure Databricks 工作區。
您不需要將所有工作區移轉至 Unity 目錄,即可利用對 Delta 共用提供者的 Databricks 支援。 請參閱 是否需要 Unity 目錄才能使用 Delta Sharing?。
收件者不必擁有已啟用 Unity Catalog 的工作區。
帳戶管理員角色,可為您的 Unity Catalog 中繼存放區啟用 Delta Sharing,並啟用稽核紀錄。
中繼存放區管理員角色或
CREATE SHARE和CREATE RECIPIENT權限。 請參閱 系統管理員角色。Note
如果您的工作區自動啟用了 Unity 目錄,您可能沒有中繼存放區管理員。不過,這類工作區中的工作區管理員預設擁有
CREATE SHARE和CREATE RECIPIENT中繼存放區的許可權。如需詳細資訊,請參閱自動啟用 Unity 目錄和自動為 Unity 目錄啟用工作區時的工作區管理員許可權。
允許來自收件者的網路存取的雲端記憶體組態。
在 Metastore 上啟用 Delta Sharing
如果您想要只使用 Delta Sharing 與帳戶中其他 Unity 目錄中繼存放區上的使用者共享數據,則不需要在中繼存放區上啟用 Delta Sharing。 預設會啟用同一 Azure Databricks 帳戶內的中繼存放區之間的共享功能。
否則,請針對管理您計劃使用 Delta Sharing 共用的數據的每個 Unity 目錄中繼存放區,遵循這些步驟。
身為 Azure Databricks 帳戶管理員,登入 帳戶主控台。
在提要欄位中,按兩下
目錄。
按兩下中繼存放區的名稱,以開啟其詳細數據。
按一下 [允許與組織外部的參與對象共用差異] 旁邊的核取方塊。
設定收件者令牌存留期。
此設定會設置一個時間期限,超過後所有收件者的令牌將到期且必須重新生成。 收件者令牌只會用於開啟的 共享 通訊協定中。 代幣在創建後最多有效一年。
Note
當您變更中繼存放區的預設收件者令牌存留期時,現有收件者的收件者令牌存留期不會自動更新。 若要將新的令牌存留期套用至指定的收件者,您必須輪替其令牌。 請參閱 管理收件者令牌。
若要設定預設收件者令牌存留期:
- 確認 [設定到期 ] 已啟用 (這是預設值)。
- 輸入秒數、分鐘、小時或天數,然後選取量值單位。 代幣在創建後最多有效一年。
- 按一下 啟用。
如需詳細資訊,請參閱 令牌的安全性考慮。
與不在您的帳戶中的 Azure Databricks 收件者共用時,請輸入 [組織名稱]。
Note
指定可讀取的組織名稱可協助收件者識別其共用提供者,以及收件者提供者清單中的對應提供者物件。
按一下 啟用。
(可選的)安裝 Unity Catalog CLI
若要管理共用和收件者,您可以使用目錄總管、SQL 命令或 Unity 目錄 CLI。 CLI 會在本機環境中執行,而且不需要 Azure Databricks 計算資源。
若要安裝 CLI,請參閱 什麼是 Databricks CLI?。
授權創建和管理共用與收件者的權限
中繼存放區系統管理員能夠建立和管理共用項目和收件者,包括將共用項目授與給收件者。 中繼存放區系統管理員可以使用下列許可權來委派許多提供者工作:
-
CREATE SHARE上的資料存取目錄授與創建分享的權限。 -
CREATE RECIPIENT在中繼存放區中授予建立收件者的權限。 -
USE RECIPIENT上的功能授予在中繼存放區中列出和查看所有接收者詳細資料的能力。 -
USE SHARE中的中繼存放區授予列出和檢視所有共用詳細資訊的能力。 -
USE RECIPIENT和USE SHARE,SET SHARE PERMISSION合併後,可讓使用者將共用存取權授與收件者。 - Meta存放區系統管理員可以轉移任何分享的擁有權。
- 共用擁有者和收件者擁有者可以更新這些物件,並將共用權限授予給收件者。 根據預設,物件建立者會被授與擁有權,但可以轉移擁有權。
- 共享擁有者只要具有對數據表的
SELECT存取權及對磁碟區的READ VOLUME存取權,就可以將數據表和磁碟區新增至共享。
如需詳細資訊,請參閱 Unity 目錄許可權和可保護的物件,以及 Delta Sharing 工作中所描述的許可權清單。
啟用稽核記錄
身為 Azure Databricks 帳戶管理員,您應該啟用稽核記錄來擷取 Delta Sharing 事件,例如:
- 當某人建立、修改、更新或刪除共享項目或收件者時
- 當收件者存取啟用連結並下載認證時(僅限開啟共用)
- 收件者存取數據時
- 當收件者的憑證輪替或過期時(僅適用於開放共享)
Important
Delta Sharing 活動會記錄在帳戶層次。 當您設定記錄傳遞時,請勿輸入workspace_ids_filter的值。
若要啟用稽核記錄,請遵循診斷記錄參考中的指示。
如需有關 Delta 分享事件是如何記錄的詳細資訊,請參閱 稽核和監控資料共用。
設定數據具體化的TTL
身為 Azure Databricks 帳戶或中繼存放區管理員,您可以設定資料物化的 TTL,以決定物化結果的快取時間。 當收件者查詢共用動態檢視、具體化檢視、串流資料表和外部資料表時,就會發生具體化。 根據預設,TTL是8小時。 快取本身將在額外三小時後通過具體化過程被驅逐,為現有查詢提供額外的時間來完成。
若要變更此值,請執行下列動作:
在您的 Azure Databricks 工作區中,按一下
以開啟目錄總管。
在 [ 目錄 ] 窗格頂端,按兩下
,然後選取 [ 差異共用]。
或者,從 快速存取 頁面,按一下 Delta Sharing > 按鈕。
在 [與我共用] 索引標籤上,點擊右上角的組織名稱。
按一下檢視 Delta 分享設定。
針對 [具體化 TTL],輸入所需的 TTL 值。
允許網路存取記憶體
如果您的基礎雲端記憶體已設定訪問控制,請將收件者的網路新增至允許清單,以便讀取共用數據表。
如需詳細資訊,請參閱 設定 Azure 記憶體防火牆和虛擬網路 和 設定無伺服器計算存取的防火牆。