Federação de catálogos do Workday Data Connect

Importante

Esse recurso está em Beta. Para usá-lo, um administrador de espaço de trabalho deve ativar o Workday Data Connect Connector na página de Prévias . Consulte Gerenciar visualizações do Azure Databricks.

Use a federação do catálogo do Workday Data Connect para ler tabelas do Workday Data Connect diretamente do armazenamento em nuvem e adicioná-las ao Unity Catalog como tabelas estrangeiras. As consultas são executadas inteiramente nos recursos computacionais do Azure Databricks, para que as equipes de dados possam descobrir, governar e consultar essas tabelas no Azure Databricks sem criar pipelines de ETL. O acesso a dados é somente leitura.

O Azure Databricks autentica no catálogo Workday Data Connect como um Usuário do Sistema de Integração Workday (ISU) que você registra como principal, usando OAuth com chave privada.

A Workday chama esse produto de Workday Data Lake. A documentação dos parceiros, incluindo esta página, é chamada de Workday Data Connect.

Para saber mais sobre a federação de catálogos, veja O que é federação de catálogo?.

Note

Esse conector não ingere nem copia dados no Azure Databricks e não está relacionado aos conectores de ingestão do Lakeflow Connect do Workday. Para ingerir dados do Workday no Azure Databricks em vez disso, consulte o conector Workday Reports ou o conector Workday HCM.

Requirements

Revise os seguintes requisitos antes de configurar a federação do catálogo Workday Data Connect.

Requisitos de área de trabalho:

Requisitos de computação:

  • O computo do Azure Databricks deve usar Databricks Runtime 19.8 ou superior e o modo de acesso padrão. Não há suporte para o modo de acesso dedicado.

Requisitos de rede:

  • Conectividade de rede do Azure Databricks para o ponto de extremidade do catálogo do Workday Data Connect em https://<workday-host>/api/catalog. Você não precisa permitir listar endereços IP do Azure Databricks no Workday.

Permissões necessárias:

  • Para criar uma conexão, você deve ser um administrador do metastore ou um usuário com o privilégio CREATE CONNECTION no metastore do Unity Catalog anexado ao workspace.
  • Para criar um catálogo estrangeiro, você deve ter a permissão CREATE CATALOG no metastore e ser o proprietário da conexão ou ter o privilégio CREATE FOREIGN CATALOG na conexão.

Requisitos do dia de trabalho:

  • Workday Data Connect habilitado para o seu tenant do Workday, com as tabelas que você deseja consultar compartilhadas por meio do catálogo REST do Iceberg. Veja Comece com o Workday Data Lake.
  • Um Usuário do Sistema de Integração Workday (ISU) registrado como principal no catálogo Workday Data Connect, uma função principal para essa ISU que concede acesso de leitura às tabelas compartilhadas, e um par de chaves RSA para esse principal. Para registrar o cliente API, veja Registrar Cliente API para Data Lake (JWT Bearer Grant).

Passo 1: Criar uma conexão

Uma conexão especifica o endpoint e as credenciais que o Azure Databricks usa para se comunicar com o catálogo do Workday Data Connect.

Para criar uma conexão, use o Explorador de Catálogos ou o CREATE CONNECTION comando SQL:

Gerenciador de Catálogos

Para criar a conexão:

  1. No workspace Azure Databricks, clique em Data icon.Catalog.
  2. Na parte superior do painel Catálogo, clique no ícone de adição e selecione Criar uma conexão no menu.
  3. Na página de noções básicas da Conexão , insira um nome da Conexão.
  4. Selecione um tipo de conexão do Workday Data Connect.
  5. Clique em Próximo.
  6. Na página de detalhes da conexão , insira os seguintes valores:
    • Host: O nome do host do seu endpoint do Workday Data Connect, por exemplo mycompany.myworkday.com.
    • Tenant: Seu tenant do Workday.
    • ID do cliente: ID do cliente da API Workday.
    • Chave privada: Uma chave privada RSA em formato PEM.
    • Nome do principal: O nome da ISU que você registrou como nome principal do catálogo.
    • Papel principal: O papel principal do Workday que escopa o acesso de leitura às tabelas compartilhadas. O padrão é ALL. Para restringir o acesso, defina uma função específica, por exemplo all-reads-role.

SQL

Execute o seguinte comando em um notebook ou no editor de consultas SQL do 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: O nome do host do seu endpoint do Workday Data Connect, por exemplo, mycompany.myworkday.com.
  • tenant: Seu locatário do Workday.
  • client_id: ID do cliente da API do Workday.
  • private_key: Uma chave privada RSA no formato PEM. O Databricks recomenda que você armazene isso como segredo.
  • principal_name: O nome da ISU que você registrou como principal do catálogo.
  • principal_role: A função principal do Workday que define o acesso de leitura às tabelas compartilhadas. O padrão é ALL. Para restringir o acesso, defina uma função específica, por exemplo all-reads-role.

O Databricks recomenda que você use segredos em vez de strings de texto simples para valores sensíveis como a chave privada. Para informações sobre como criar segredos, veja Gestão de segredos.

Passo 2: Criar um catálogo estrangeiro

Um catálogo estrangeiro espelha o catálogo do Workday Data Connect no Unity Catalog, assim você pode usar o Unity Catalog para gerenciar o acesso às tabelas Workday e consultá-las a partir do cálculo do Azure Databricks.

Para criar um catálogo estrangeiro, você pode usar o Explorador de Catálogos, o CREATE FOREIGN CATALOG comando SQL em um caderno ou o editor de consultas SQL do Databricks.

Gerenciador de Catálogos

  1. No workspace Azure Databricks, clique em Data icon.Catalog.
  2. Na parte superior do painel Catálogo , clique no ícone Adicionar ou mais ícone e selecione Criar um catálogo no menu.
  3. No diálogo Criar um novo catálogo , insira um nome para o catálogo.
  4. Selecione um tipo de estrangeiro.
  5. Selecione a Conexão que você criou no Passo 1.
  6. Para localização de armazenamento, insira o caminho de armazenamento em nuvem onde o Azure Databricks armazena metadados para as tabelas federadas.
  7. Clique em Criar.

SQL

Execute o comando a seguir em um notebook ou no editor de SQL do Databricks. Os itens entre colchetes são opcionais.

CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name>
USING CONNECTION <connection-name>
OPTIONS (storage_root '<storage-root-path>');
  • storage_root:Necessário. Um caminho de localização externo onde o Azure Databricks pode escrever. O Azure Databricks usa esse local para armazenar metadados das tabelas federadas. Os dados da tabela Workday não são copiados para esse local.

O catálogo estrangeiro sempre reflete todo o catálogo do Workday Data Connect ao qual suas credenciais concedem acesso. Para definir o que está visível, defina um principal_role que conceda acesso de leitura apenas às tabelas que você deseja ao criar a conexão.

Passo 3: Conceder permissões e consultar o catálogo

Após criar o catálogo estrangeiro, os usuários precisam das permissões apropriadas do Catálogo Unity para acessar as tabelas federadas:

  • Todos os usuários precisam de permissões USE CATALOG e USE SCHEMA no catálogo e no esquema, respectivamente.
  • Para ler de uma tabela federada, os usuários precisam da SELECT permissão.

Para obter mais informações sobre privilégios do Catálogo do Unity e como concedê-los, consulte Gerenciar privilégios no Catálogo do Unity.

Por exemplo, execute os seguintes comandos em um notebook ou no editor de consultas SQL do 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>`;

Usuários com essas permissões podem então consultar as tabelas federadas usando notação de namespace de três níveis:

SELECT * FROM <catalog-name>.<schema-name>.<table-name>;

Mapeamento de namespace

O Unity Catalog espelha a hierarquia de objetos do Workday Data Connect da seguinte forma:

Objeto Workday Data Connect Objeto do Catálogo do Unity
Catálogo Catálogo externo
Namespace Esquema
Tabela Tabela externa

O Workday Data Connect expõe nomes simples de três níveis que correspondem diretamente à hierarquia do Unity Catalog catalog.schema.table. Não há aninhamento adicional de namespace.

Limitações

A federação de catálogos Workday Data Connect possui as seguintes limitações:

  • O conector só pode acessar tabelas Iceberg compartilhadas por meio do catálogo Workday Data Connect.
  • Nomes de esquemas e tabelas seguem as limitações padrão de nomeação do Unity Catalog. Azure Databricks não suporta nomes que contenham ponto (.), espaço ( ) ou barra para frente (/). Consulte os requisitos de nomenclatura de objeto protegível.