Important
這項功能位於 測試版 (Beta) 中。 要使用它,工作區管理員必須從預覽頁面開啟 Workday Data Connect Connector。 請參閱 管理 Azure Databricks 預覽。
使用 Workday Data Connect 目錄聯盟,直接從雲端讀取 Workday Data Connect 資料表,並將其作為外部資料表加入 Unity 目錄。 查詢完全在 Azure Databricks 運算上執行,因此資料團隊可以從 Azure Databricks 發現、管理並查詢這些資料表,而不必建立 ETL 管線。 資料存取為唯讀。
Azure Databricks 會使用 OAuth 搭配私密金鑰,以您註冊為主體的 Workday 整合系統使用者(ISU)身分,向 Workday Data Connect 目錄進行驗證。
Workday 稱此產品為 Workday 資料湖。 合作夥伴的文件,包括這個頁面,稱之為 Workday Data Connect。
欲了解更多目錄聯盟,請參閱 《什麼是目錄聯盟?》。
Note
這個連接器不會將資料匯入或複製到 Azure Databricks,也與 Workday 的 Lakeflow Connect 匯入連接器無關。 若想將 Workday 資料匯入 Azure Databricks,請參考 Workday Reports 連接器或 Workday HCM 連接器。
在你開始之前
在設定 Workday Data Connect 目錄聯盟前,請先閱讀以下要求。
工作區需求:
- 必須為 Unity 目錄啟用此工作區。 請參閱 開始使用 Unity 目錄。
計算需求:
- Azure Databricks 的運算必須使用 Databricks Runtime 19.8 或以上及標準存取模式。 不支援專用存取模式。
網路需求:
- 從 Azure Databricks 到您的 Workday Data Connect 目錄端點
https://<workday-host>/api/catalog的網路連線。 你不需要在 Workday 中將 Azure Databricks IP 位址加入允許清單。
所需的權限:
- 若要建立連線,您必須是中繼存放區系統管理員,或是具有附加至工作區之 Unity 目錄中繼存放區
CREATE CONNECTION許可權的使用者。 - 若要建立外來目錄,您必須具有中繼存放區的
CREATE CATALOG許可權,並且必須是連線的擁有者或具有該連線的CREATE FOREIGN CATALOG特權。
工作日要求:
- Workday Data Connect 已啟用給你的 Workday 租戶,你想查詢的資料表會透過其 Iceberg REST 目錄共享。 請參閱「開始使用 Workday 資料湖」。
- 已在 Workday Data Connect 目錄中註冊為主體的 Workday 整合系統使用者(ISU)、授予該 ISU 對共用資料表讀取權限的主體角色,以及該主體的 RSA 金鑰組。 要註冊 API 用戶端,請參閱「註冊 資料湖 (JWT Bearer Grant)API 用戶端。」
步驟一:建立連結
連線指定 Azure Databricks 用來與 Workday Data Connect 目錄通訊的端點與憑證。
要建立連線,請使用 Catalog Explorer 或 CREATE CONNECTION SQL 指令:
目錄檢視器
若要建立連線:
- 在您的 Azure Databricks 工作區中,按一下
目錄。
- 在 目錄 面板頂端,點選
加號圖示,從選單中選擇 建立連線 。 - 在 連線基礎 頁面輸入 連線名稱。
- 選擇 Workday Data Connect 的連線類型。
- 按一下「下一步」。
- 在 連接詳情 頁面輸入以下數值:
-
Host:例如
mycompany.myworkday.com,Workday Data Connect 端點的主機名稱。 - 房客:你的工作日房客。
- 用戶端 ID:Workday API 用戶端的用戶端 ID。
- 私鑰:一種 PEM 格式的 RSA 私鑰。
- 主體名稱:您註冊為目錄主體的 ISU 名稱。
-
主體角色:Workday 主體角色,負責對共享資料表的讀取權限範圍。 預設值為
ALL。 要縮小存取範圍,可以設定特定角色,例如all-reads-role。
-
Host:例如
SQL
在筆記本或 Databricks SQL 查詢編輯器中執行下列命令:
CREATE CONNECTION <connection-name> TYPE WORKDAY_DATA_CONNECT
OPTIONS (
host '<workday-host>',
tenant '<workday-tenant>',
client_id '<client-id>',
private_key secret('<secret-scope>','<secret-key>'),
principal_name '<isu-name>',
principal_role '<principal-role>'
);
-
host:例如,Workday Data Connect 端點mycompany.myworkday.com的主機名稱。 -
tenant:你的Workday租戶。 -
client_id:Workday API 用戶端的 ID。 -
private_key:一個以 PEM 格式呈現的 RSA 私鑰。 Databricks 建議你把它當作秘密儲存。 -
principal_name:您註冊為目錄主要負責人的 ISU 名稱。 -
principal_role:用於界定對共享資料表讀取權限範圍的 Workday 主要角色。 預設值為ALL。 要縮小存取範圍,可以設定特定角色,例如all-reads-role。
Databricks 建議你對敏感值(如私鑰)使用秘密而非明文字串。 關於建立祕密的資訊,請參見 祕密管理。
步驟二:建立外國目錄
外部目錄會鏡像 Unity Catalog 中的 Workday Data Connect 目錄,讓你可以用 Unity Catalog 管理 Workday 資料表的存取,並從 Azure Databricks 計算中查詢資料表。
要建立外國目錄,您可以使用目錄探索器或 CREATE FOREIGN CATALOG 筆記本中的 SQL 指令,或 Databricks SQL 查詢編輯器。
目錄檢視器
- 在您的 Azure Databricks 工作區中,按一下
目錄。
- 在 目錄 面板頂端,點選
加號圖示,從選單中選擇 建立目錄 。 - 在 「建立新目錄 」對話框中,輸入目錄名稱。
- 選擇一種外國產品。
- 選擇你在步驟 1 中建立的 連線 。
- 在儲存位置中,輸入 Azure Databricks 用來儲存聯邦資料表中繼資料的雲端儲存路徑。
- 點擊 建立。
SQL
在筆記本或 Databricks SQL 查詢編輯器中,執行下列命令。 括弧中的項目是選擇性的。
CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name>
USING CONNECTION <connection-name>
OPTIONS (storage_root '<storage-root-path>');
-
storage_root:必填。 Azure Databricks 可寫入的外部位置路徑。 Azure Databricks 利用此位置來儲存聯邦資料表的元資料。 Workday 表格資料不會複製到這個位置。
外部目錄總是鏡像你憑證授權存取的整個 Workday Data Connect 目錄。 要縮小可見範圍,設定 a principal_role 只允許你建立連線時讀取你想要的資料表。
步驟 3:授予權限並查詢目錄
建立外部目錄後,使用者需要取得適當的 Unity 目錄權限才能存取聯邦資料表:
- 所有使用者需要目錄的
USE CATALOG權限和結構的USE SCHEMA權限。 - 要從聯邦表格讀取,使用者需要取得
SELECT權限。
欲了解更多關於 Unity 目錄權限及授予方式,請參閱 管理 Unity 目錄中的權限。
例如,在筆記本或 Databricks SQL 查詢編輯器中執行以下指令:
GRANT USE CATALOG ON CATALOG <catalog-name> TO `<principal>`;
GRANT USE SCHEMA ON SCHEMA <catalog-name>.<schema-name> TO `<principal>`;
GRANT SELECT ON TABLE <catalog-name>.<schema-name>.<table-name> TO `<principal>`;
擁有這些權限的使用者,可以使用三層命名空間符號查詢聯邦表格:
SELECT * FROM <catalog-name>.<schema-name>.<table-name>;
命名空間映射
Unity 目錄對應 Workday Data Connect 物件階層如下:
| Workday Data Connect 物件 | Unity Catalog 物件 |
|---|---|
| Catalog | 國外目錄 |
| 命名空間 | Schema |
| Table | 外部資料表 |
Workday Data Connect 會提供扁平的三層名稱,這些名稱一一對應到 Unity 目錄 catalog.schema.table 的階層結構。 沒有額外的命名空間巢狀結構。
Limitations
Workday Data Connect 目錄聯盟有以下限制:
- 連接器只能存取透過 Workday Data Connect 目錄共享的 Iceberg 資料表。
- 結構名稱與資料表名稱遵循標準 Unity 目錄命名限制。 Azure Databricks 不支援包含句點()、
.空格()或斜線(/)的名稱。 請參見 可保護物件命名要求。