Федерация каталогов Workday Data Connect

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.

Требования к рабочей области:

Требования к вычислениям:

  • 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:

Обозреватель каталогов

Создание подключения:

  1. В рабочей области Azure Databricks щелкните Data icon.Catalog.
  2. В верхней части области каталога щелкните значок и выберите "Создать подключение " в меню.
  3. На странице основ соединения введите имя соединения.
  4. Выберите тип подключения для Workday Data Connect.
  5. Нажмите кнопку Далее.
  6. На странице с деталями соединения введите следующие значения:
    • Host: Например mycompany.myworkday.com, имя хоста вашей конечной точки Workday Data Connect.
    • Арендатор: ваш арендатор Workday.
    • Client ID: Client ID клиента Workday API.
    • Приватный ключ: RSA-приватный ключ в формате PEM.
    • Имя директора: Имя ISU, зарегистрированного вами как руководителя каталога.
    • Основная роль: Основная роль Workday, которая определяет область доступа на чтение к общим таблицам. Значение по умолчанию — ALL. Чтобы уменьшить область доступа, укажите конкретную роль, например all-reads-role.

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.

Обозреватель каталогов

  1. В рабочей области Azure Databricks щелкните Data icon.Catalog.
  2. В верхней части области каталога щелкните значок и выберите "Создать каталог " в меню.
  3. В диалоге «Создать новый каталог » введите название каталога.
  4. Выберите типиностранного.
  5. Выберите соединение , которое вы создали на шаге 1.
  6. Для расположения хранилища введите путь облачного хранилища, где Azure Databricks хранит метаданные для федеративных таблиц.
  7. Нажмите кнопку Создать.

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 не поддерживает имена, содержащие точку (.), пробел ( ) или косую черту (/). См. требования к именованию защищаемых объектов.