Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Important
Эта функция доступна в бета-версии. Чтобы использовать его, администратор рабочего пространства должен включить Workday Data Connect Connector на странице предпросмотра . См. статью "Управление предварительными версиями Azure Databricks".
Используйте федерацию каталога Workday Data Connect, чтобы читать таблицы Workday Data Connect напрямую из облачного хранилища и добавлять их в каталог Unity как иностранные таблицы. Запросы полностью выполняются на Azure Databricks compute, поэтому команды по данным могут обнаружить, управлять и задавать запросы к этим таблицам из Azure Databricks без создания ETL-конвейеров. Доступ к данным доступен только для чтения.
Azure Databricks аутентифицируется в каталоге Workday Data Connect как пользователь Workday Integration System (ISU), которого вы регистрируете как принципал с использованием OAuth с приватным ключом.
Workday называет этот продукт Workday Озеро данных. Документация партнёров, включая эту страницу, называется Workday Data Connect.
Чтобы узнать больше о федерации каталогов, см. раздел « Что такое федерация каталогов?».
Note
Этот коннектор не принимает и не копирует данные в Azure Databricks и не связан с разъёмами Lakeflow Connect для Workday. Чтобы вместо этого загрузить данные Workday в Azure Databricks, см. соединитель Workday Reports или соединитель Workday HCM.
Перед тем как начать
Ознакомьтесь со следующими требованиями, прежде чем настроите федерацию каталога Workday Data Connect.
Требования к рабочей области:
- Рабочая область должна быть активирована для работы с Unity Catalog. См. статью "Начало работы с каталогом Unity".
Требования к вычислениям:
- Azure Databricks Compute должен использовать Databricks Runtime 19.8 или выше и стандартный режим доступа. Выделенный режим доступа не поддерживается.
Требования к сети:
- Сетевое подключение от Azure Databricks к конечной точке каталога Workday Data Connect по адресу
https://<workday-host>/api/catalog. Вам не нужно добавлять IP-адреса Azure Databricks в список разрешённых в Workday.
Необходимые разрешения:
- Чтобы создать подключение, необходимо быть администратором хранилища метаданных или пользователем с правами
CREATE CONNECTIONв хранилище метаданных каталога Unity, подключенном к рабочей области. - Чтобы создать внешний каталог, необходимо иметь разрешение
CREATE CATALOGна хранилище метаданных и либо быть владельцем подключения, либо обладать привилегиейCREATE FOREIGN CATALOGна подключение.
Требования к рабочему дню:
- Workday Data Connect включён для вашего арендатора Workday, а таблицы, которые вы хотите запросить, будут доступны через каталог Iceberg REST. См. Начать с Workday Озеро данных.
- Пользователь системы интеграции Workday (ISU), зарегистрированный как субъект безопасности в каталоге Workday Data Connect, роль субъекта безопасности для этого ISU, предоставляющая доступ на чтение к общим таблицам, и пара ключей RSA для этого субъекта безопасности. Для регистрации клиента API см. Register API Client for Озеро данных (JWT Bearer Grant).
Шаг 1: Создайте связь
Соединение определяет конечную точку и учетные данные, которые Azure Databricks использует для связи с каталогом Workday Data Connect.
Чтобы создать соединение, используйте Catalog Explorer или CREATE CONNECTION команду SQL:
Обозреватель каталогов
Создание подключения:
- В рабочей области Azure Databricks щелкните
Catalog.
- В верхней части области каталога щелкните
и выберите "Создать подключение " в меню. - На странице основ соединения введите имя соединения.
- Выберите тип подключения для Workday Data Connect.
- Нажмите кнопку Далее.
- На странице с деталями соединения введите следующие значения:
-
Host: Например
mycompany.myworkday.com, имя хоста вашей конечной точки Workday Data Connect. - Арендатор: ваш арендатор Workday.
- Client ID: Client ID клиента Workday API.
- Приватный ключ: RSA-приватный ключ в формате PEM.
- Имя директора: Имя ISU, зарегистрированного вами как руководителя каталога.
-
Основная роль: Основная роль Workday, которая определяет область доступа на чтение к общим таблицам. Значение по умолчанию —
ALL. Чтобы уменьшить область доступа, укажите конкретную роль, напримерall-reads-role.
-
Host: Например
SQL
Выполните следующую команду в записной книжке или редакторе sql-запросов Databricks:
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: Напримерmycompany.myworkday.com, имя хоста вашего конечного пункта Workday Data Connect. -
tenant: Ваш арендатор Workday. -
client_id: Идентификатор клиента Workday API. -
private_key: RSA-приватный ключ в формате PEM. Databricks рекомендует хранить это в секрете. -
principal_name: Имя ISU, которое вы зарегистрировали как основной элемент каталога. -
principal_role: Основная роль Workday, которая определяет область доступа на чтение к общим таблицам. Значение по умолчанию —ALL. Чтобы уменьшить область доступа, укажите конкретную роль, напримерall-reads-role.
Databricks рекомендует использовать секреты вместо открытых строк для чувствительных значений, таких как приватный ключ. Для получения информации о создании секретов см. раздел «Управление секретами».
Шаг 2: Создайте зарубежный каталог
Иностранный каталог зеркалирует каталог Workday Data Connect в Unity Catalog, чтобы вы могли использовать Unity Catalog для управления доступом к таблицам Workday и запроса к ним из вычислительной системы Azure Databricks.
Чтобы создать иностранный каталог, можно использовать Catalog Explorer, CREATE FOREIGN CATALOG команду SQL в блокноте или редактор SQL-запросов Databricks.
Обозреватель каталогов
- В рабочей области Azure Databricks щелкните
Catalog.
- В верхней части области каталога щелкните
и выберите "Создать каталог " в меню. - В диалоге «Создать новый каталог » введите название каталога.
- Выберите типиностранного.
- Выберите соединение , которое вы создали на шаге 1.
- Для расположения хранилища введите путь облачного хранилища, где Azure Databricks хранит метаданные для федеративных таблиц.
- Нажмите кнопку Создать.
SQL
Выполните следующую команду в записной книжке или редакторе sql-запросов Databricks. Элементы в квадратных скобках являются необязательными.
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, к которому доступны ваши учетные данные. Чтобы ограничить видимость, при создании соединения задайте principal_role, который предоставляет доступ на чтение только к нужным таблицам.
Шаг 3: Предоставьте права и запросите каталог
После создания иностранного каталога пользователям нужны соответствующие разрешения Unity Catalog для доступа к федеративным таблицам:
- Все пользователи должны иметь разрешения
USE CATALOGна каталог иUSE SCHEMAна схему соответственно. - Чтобы читать из федеративной таблицы, пользователям требуется разрешение
SELECT.
Дополнительные сведения о привилегиях каталога Unity и их предоставлении см. в разделе "Управление привилегиями" в каталоге Unity.
Например, выполните следующие команды в блокноте или в редакторе SQL-запросов Databricks:
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 Catalog отражает иерархию объектов Workday Data Connect следующим образом:
| Объект Workday Data Connect | Объект каталога Unity |
|---|---|
| Каталог | Внешний каталог |
| Namespace | Схема |
| Таблица | Внешняя таблица |
Workday Data Connect предоставляет плоские трёхуровневые имена, которые имеют взаимно-однозначное соответствие с иерархией Unity Catalog catalog.schema.table. Нет дополнительной вложенности пространств имён.
Limitations
Федерация каталога Workday Data Connect имеет следующие ограничения:
- Соединитель может получать доступ только к таблицам Iceberg, предоставленным через каталог Workday Data Connect.
- Имена схем и таблиц соответствуют стандартным ограничениям по именованию каталога Unity. Azure Databricks не поддерживает имена, содержащие точку (
.), пробел () или косую черту (/). См. требования к именованию защищаемых объектов.