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

Importante

Este recurso está em versão Beta. Para o utilizar, um administrador de espaço de trabalho deve ativar o Workday Data Connect Connector a partir da página de Pré-visualizações . Ver Gerir as pré-visualizações de Azure Databricks.

Use a federação do catálogo Workday Data Connect para ler tabelas do Workday Data Connect diretamente a partir do armazenamento na cloud e adicioná-las ao Unity Catalog como tabelas estrangeiras. As consultas são executadas inteiramente nos recursos de computação do Azure Databricks, pelo que as equipas de dados podem descobrir, gerir e consultar estas tabelas no Azure Databricks sem criar pipelines de ETL. O acesso aos dados é apenas de leitura.

O Azure Databricks autentica-se ao catálogo Workday Data Connect como um Utilizador do Sistema de Integração Workday (ISU) que regista como principal, usando OAuth com chave privada.

A Workday chama a este produto Workday Data Lake. A documentação dos parceiros, incluindo esta página, chama-lhe Workday Data Connect.

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

Note

Este conector não ingere nem copia dados para o Azure Databricks, e não está relacionado com os conectores de ingestão do Lakeflow Connect para o 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 do espaço de trabalho:

Requisitos de computação:

  • O Azure Databricks compute deve usar Databricks Runtime 19.8 ou superior e o modo de acesso padrão. O modo de acesso dedicado não é suportado.

Requisitos de rede:

  • Conectividade de rede a partir do Azure Databricks para o endpoint do seu catálogo do Workday Data Connect em https://<workday-host>/api/catalog. Não precisas de permitir a lista de endereços IP do Azure Databricks no Workday.

Permissões necessárias:

  • Para criar uma conexão, você deve ser um administrador de metastore ou um usuário com o privilégio de CREATE CONNECTION no metastore do Unity Catalog anexado ao espaço de trabalho.
  • 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 de CREATE FOREIGN CATALOG na conexão.

Requisitos do dia de trabalho:

  • Workday Data Connect ativado para a sua instância Workday, com as tabelas que pretende consultar partilhadas através do respetivo catálogo REST Iceberg. Veja Comece com o Workday Data Lake.
  • Um Utilizador do Sistema de Integração Workday (ISU) registado como principal no catálogo do Workday Data Connect, uma função principal para esse ISU que concede acesso de leitura às tabelas partilhadas e um par de chaves RSA para esse principal. Para registar o cliente API, consulte Registar Cliente API para Data Lake (JWT Bearer Grant).

Passo 1: Criar uma ligação

Uma ligação especifica o endpoint e as credenciais que o Azure Databricks utiliza para comunicar com o catálogo Workday Data Connect.

Para criar uma ligação, use o Explorador de Catálogo ou o CREATE CONNECTION comando SQL:

Explorador de Catálogos

Para criar a ligação:

  1. No seu espaço de trabalho do Azure Databricks, clique no ícone Dados.Catálogo.
  2. No topo do painel Catálogo, clique no ícone de adicionar ou mais e selecione Criar uma ligação no menu.
  3. Na página de noções básicas da Ligação , introduza um nome da Ligação.
  4. Selecione um tipo de conexão de Workday Data Connect.
  5. Clique em Next.
  6. Na página de detalhes da ligação , introduza os seguintes valores:
    • Host: O nome do host do seu endpoint Workday Data Connect, por exemplo mycompany.myworkday.com.
    • Tenant: O seu tenant do Workday.
    • ID do cliente: ID do cliente da API Workday.
    • Chave privada: Uma chave privada RSA em formato PEM.
    • Nome da entidade principal: O nome da ISU que registou como entidade principal do catálogo.
    • Papel principal: O papel principal do Workday que gere o acesso de leitura às tabelas partilhadas. A predefinição é ALL. Para reduzir o âmbito do acesso, defina um papel específico, por exemplo all-reads-role.

SQL

Execute o seguinte comando em um bloco de anotações ou no editor de consultas 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: O nome do anfitrião do seu ponto final do Workday Data Connect, por exemplo mycompany.myworkday.com.
  • tenant: O teu inquilino Workday.
  • client_id: ID do cliente da API Workday.
  • private_key: Uma chave privada RSA em formato PEM. O Databricks recomenda que o guarde como segredo.
  • principal_name: O nome da ISU que registou como entidade principal do catálogo.
  • principal_role: A função principal do Workday que define o âmbito do acesso de leitura às tabelas partilhadas. A predefinição é ALL. Para reduzir o âmbito do acesso, defina um papel específico, por exemplo all-reads-role.

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

Passo 2: Criar um catálogo estrangeiro

Um catálogo estrangeiro espelha o catálogo Workday Data Connect no Unity Catalog, para que possas usar o Unity Catalog para gerir o acesso às tabelas Workday e consultá-las a partir do Azure Databricks compute.

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

Explorador de Catálogos

  1. No seu espaço de trabalho do Azure Databricks, clique no ícone Dados.Catálogo.
  2. No topo do painel de Catálogo, clique no ícone de adicionar ou de mais e selecione Criar um catálogo no menu.
  3. No diálogo Criar um novo catálogo , introduza um nome para o catálogo.
  4. Selecione um tipo de estrangeiro.
  5. Selecione a Ligação que criou no Passo 1.
  6. Para localização de armazenamento, introduza o caminho de armazenamento na cloud onde o Azure Databricks armazena metadados para as tabelas federadas.
  7. Clique em Criar.

SQL

Execute o seguinte comando em um bloco de anotações ou no editor de consultas Databricks SQL. Os itens entre parênteses 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 utiliza esta localização para armazenar metadados para as tabelas federadas. Os dados da tabela Workday não são copiados para este local.

O catálogo estrangeiro espelha sempre todo o catálogo do Workday Data Connect ao qual as suas credenciais dão acesso. Para restringir o que fica visível, define um principal_role que conceda acesso de leitura apenas às tabelas que pretendes ao criar a ligação.

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

Depois de criar o catálogo estrangeiro, os utilizadores precisam das permissões apropriadas do Catálogo Unity para aceder às tabelas federadas:

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

Para mais informações sobre privilégios do Catálogo Unity e como os conceder, consulte Gerir privilégios no Catálogo Unity.

Por exemplo, execute os seguintes comandos num caderno 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>`;

Os utilizadores com estas 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 espaços de nomes

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

Objeto Workday Data Connect Objeto do Unity Catalog
Catalog Catálogo estrangeiro
Namespace Schema
Table Tabela externa

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

Limitations

A federação do catálogo Workday Data Connect tem as seguintes limitações:

  • O conector só pode aceder a tabelas Iceberg partilhadas através do catálogo Workday Data Connect.
  • Os nomes de esquemas e tabelas seguem as limitações padrão de nomeação do Unity Catalog. O Azure Databricks não suporta nomes que contenham um ponto (.), espaço ( ) ou barra adicional (/). Consulte Requisitos de nomeação de objetos securáveis.