Important
이 기능은 베타 버전으로 제공됩니다. 사용하려면 작업 공간 관리자가 Previews 페이지에서 Workday Data Connect Connector를 켜야 합니다. Azure Databricks 미리 보기 관리를 참조하세요.
Workday Data Connect 카탈로그 연합을 사용해 클라우드 저장소에서 Workday Data Connect 테이블을 직접 읽고 Unity 카탈로그에 외부 테이블로 추가하세요. 쿼리는 전적으로 Azure Databricks 컴퓨트에서 실행되므로, 데이터 팀은 ETL 파이프라인을 구축하지 않고도 Azure Databricks에서 이 테이블들을 발견, 관리, 쿼리할 수 있습니다. 데이터 액세스는 읽기 전용입니다.
Azure Databricks는 개인 키를 사용하는 OAuth를 통해 귀하가 보안 주체로 등록한 Workday 통합 시스템 사용자(ISU)로 Workday Data Connect 카탈로그에 인증합니다.
Workday는 이 제품을 Workday 데이터 레이크라고 부릅니다. 이 페이지를 포함한 파트너 문서에서는 이를 Workday Data Connect라고 부릅니다.
카탈로그 연합에 대해 더 알고 싶다면 '카탈로그 연합이란 무엇인가?'를 참조하세요.
메모
이 커넥터는 Azure Databricks에 데이터를 인제스트하거나 복사하지 않으며, Workday용 Lakeflow Connect 인제스션 커넥터와는 관련이 없습니다. Workday 데이터를 Azure Databricks로 인징하려면 Workday Reports 커넥터 또는 Workday HCM 커넥터를 참조하세요.
Requirements
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 클라이언트 등록을 참조하세요.
1단계: 연결 만들기
연결은 Azure Databricks가 Workday Data Connect 카탈로그와 통신하는 데 사용하는 엔드포인트와 자격 증명을 지정합니다.
연결을 생성하려면 Catalog Explorer 또는 CREATE CONNECTION SQL 명령어를 사용하세요:
카탈로그 탐색기
연결을 만드는 방법:
- Azure Databricks 작업 영역에서
을 클릭합니다.카탈로그.
-
카탈로그 창 위쪽에서
을 클릭하고 메뉴에서 연결 만들기를 선택합니다. - 연결 기본 페이지에서 연결 이름을 입력하세요.
- Workday Data Connect의 연결 유형을 선택하세요.
- 다음을 클릭합니다.
-
연결 정보 페이지에 다음 값을 입력하세요:
-
호스트: 예를
mycompany.myworkday.com들어 Workday Data Connect 엔드포인트의 호스트 이름입니다. - 세입자: 당신의 Workday 세입자입니다.
- 클라이언트 ID: Workday API 클라이언트의 클라이언트 ID.
- 개인 키: PEM 형식의 RSA 개인 키입니다.
- 주체 이름: 카탈로그 주체로 등록한 ISU의 이름입니다.
-
Principal 역할: Workday의 Principal 역할로, 공유 테이블에 대한 읽기 접근 범위를 지정합니다. 기본값은
ALL입니다. 접근 범위를 좁히려면 특정 역할을 설정하세요. 예를 들어all-reads-role.
-
호스트: 예를
SQL
Notebook 또는 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: 워크데이의 주요 역할은 공유 테이블에 대한 읽기 접근을 범위 지정합니다. 기본값은ALL입니다. 접근 범위를 좁히려면 특정 역할을 설정하세요. 예를 들어all-reads-role.
Databricks는 개인 키와 같은 민감한 값에 대해 평문 문자열 대신 비밀을 사용할 것을 권장합니다. 비밀 생성에 관한 정보는 비밀 관리(Secret management)를 참조하세요.
2단계: 해외 카탈로그 작성
외국 카탈로그는 Unity Catalog 내 Workday Data Connect 카탈로그를 미러링하여, Unity Catalog를 사용해 Workday 테이블 접근을 관리하고 Azure Databricks 컴퓨트에서 쿼리할 수 있습니다.
외국 카탈로그를 생성하려면 카탈로그 탐색기나 CREATE FOREIGN CATALOG 노트북의 SQL 명령어, 또는 Databricks SQL 쿼리 편집기를 사용할 수 있습니다.
카탈로그 탐색기
- Azure Databricks 작업 영역에서
을 클릭합니다.카탈로그.
-
카탈로그 창 위쪽에서
을 클릭하고 메뉴에서 카탈로그 만들기를 선택합니다. - 새 카탈로그 생성 대화상자에서 카탈로그 이름을 입력하세요.
- 유형을 외세로 선택합니다.
- 1단계에서 만든 연결을 선택하세요.
- 스토리지 위치는 Azure Databricks가 페더레이티드 테이블의 메타데이터를 저장하는 클라우드 스토리지 경로를 입력하세요.
- 만들기를 클릭합니다.
SQL
Notebook 또는 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>`;
이 권한을 가진 사용자는 3단계 네임스페이스 표기법을 사용하여 연합 테이블을 조회할 수 있습니다:
SELECT * FROM <catalog-name>.<schema-name>.<table-name>;
네임스페이스 매핑
Unity 카탈로그는 Workday Data Connect 객체 계층 구조를 다음과 같이 미러링합니다:
| Workday Data Connect 객체 | Unity 카탈로그 개체 |
|---|---|
| Catalog | 외국 카탈로그 |
| 네임스페이스 | Schema |
| Table | 외부 테이블 |
Workday Data Connect는 Unity Catalog catalog.schema.table 계층 구조와 일대일로 매핑되는 평면적인 3단계 이름을 제공합니다. 추가적인 네임스페이스 중첩은 없습니다.
Limitations
Workday Data Connect 카탈로그 연합에는 다음과 같은 제한이 있습니다:
- 커넥터는 Workday Data Connect 카탈로그를 통해 공유되는 Iceberg 테이블에만 접근할 수 있습니다.
- 스키마와 테이블 이름은 표준 Unity 카탈로그 명명 제한을 따릅니다. Azure Databricks는 마침표(
.), 공백() 또는 슬래시(/)를 포함하는 이름은 지원하지 않습니다. 보안 개체 명명 요구 사항을 참조하세요.