Federação de catálogos do Workday Data Connect
Beta
Esse recurso está em Beta. Para usá-lo, um administrador do workspace deve ativar o Workday Data Connect Connector na página Previews . Consulte Gerenciar prévias do Databricks.
Use a federação de catálogo do Workday Data Connect para ler as tabelas do Workday Data Connect diretamente do armazenamento de cloud e adicioná-las ao Unity Catalog como tabelas estrangeiras. As queries são executadas inteiramente no compute do Databricks, para que as equipes de dados possam descobrir, governar e consultar essas tabelas a partir do Databricks sem construir pipelines de ETL. O acesso aos dados é somente leitura.
O Databricks autentica-se no catálogo do Workday Data Connect como um usuário do sistema de integração (ISU) do Workday que você registra como principal, usando OAuth com uma chave privada.
O Workday chama esse produto de Workday Data Lake. A documentação de parceiros, incluindo esta página, a chama de Workday Data Connect.
Para saber mais sobre a federação de catálogos, consulte O que é a federação de catálogos?.
This connector doesn't ingest or copy data into Databricks, and it isn't related to the Lakeflow Connect ingestion connectors for Workday. To ingest Workday data into Databricks instead, see Workday Reports connector or Workday HCM connector.
Antes de começar
Review the following requirements before you set up Workday Data Connect catalog federation.
Requisitos do workspace:
- The workspace must be enabled for Unity Catalog. Consulte Get started with Unity Catalog.
Requisitos de computação:
- O compute do Databricks deve usar o Databricks Runtime 19.8 ou acima e o modo de acesso padrão. O modo de acesso dedicado não é compatível.
Requisitos de rede:
- Conectividade de rede do Databricks para o endpoint do catálogo do Workday Data Connect em
https://<workday-host>/api/catalog. Você não precisa incluir os endereços IP do Databricks na lista de permissões no Workday.
Permissões necessárias:
- Para criar uma conexão, é preciso ser administrador de metastore ou usuário com o privilégio
CREATE CONNECTIONno metastore do Unity Catalog anexado ao espaço de trabalho. - Para criar um catálogo externo é preciso ter a permissão
CREATE CATALOGno metastore e ser proprietário da conexão ou ter o privilégioCREATE FOREIGN CATALOGna conexão.
Workday requirements:
- O Workday Data Connect está habilitado para o seu tenant do Workday, com as tabelas que você deseja query compartilhadas por meio de seu catálogo REST do Iceberg. Consulte Get Started with Workday Data Lake.
- Um ISU (Workday Integration System User) registrado como um principal no catálogo do Workday Data Connect, uma função de principal para esse ISU que concede acesso de leitura às tabelas compartilhadas e um par de chaves RSA para esse principal. Para registrar o cliente da API, consulte Registrar cliente da API para Data Lake (Concessão de portador JWT).
Etapa 1: Criar uma conexão
Uma conexão especifica o endpoint e as credenciais que o Databricks usa para se comunicar com o catálogo do Workday Data Connect.
Para criar uma conexão, use o Catalog Explorer ou o comando CREATE CONNECTION do SQL:
- Catalog Explorer
- SQL
Para criar a conexão:
- In your Databricks workspace, click
Catalog .
- Na parte superior do painel Catalog , clique no ícone de mais
e selecione Create a connection no menu.
- Na página Noções básicas da conexão , insira um nome de conexão .
- Selecione um Tipo de conexão igual a Workday Data Connect .
- Clique em Avançar .
- On the Connection details page, enter the following values:
- Host : o hostname do seu endpoint do Workday Data Connect, por exemplo,
mycompany.myworkday.com. - Tenant : Seu tenant do Workday.
- Client ID : Client ID do cliente da API do Workday.
- Chave privada : Uma chave privada RSA no formato PEM.
- Principal name : The name of the ISU that you registered as the catalog principal.
- Principal role : a função principal do Workday que define o escopo do acesso de leitura às tabelas compartilhadas. O default é
ALL. Para limitar o escopo do acesso, defina uma função específica, por exemplo,all-reads-role.
- Host : o hostname do seu endpoint do Workday Data Connect, por exemplo,
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 hostname do seu endpoint do Workday Data Connect, por exemplo,mycompany.myworkday.com.tenant: seu tenant 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ê o armazene como um segredo.principal_name: O nome do ISU que você registrou como principal do catálogo.principal_role: A função de principal do Workday que limita o escopo do acesso de leitura às tabelas compartilhadas. O default éALL. Para limitar o escopo do 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 confidenciais como a private key. Para obter informações sobre como criar segredos, consulte Gerenciamento de segredos.
Etapa 2: criar um catálogo externo
Um catálogo externo espelha o catálogo do Workday Data Connect no Unity Catalog para que você possa usar o Unity Catalog para gerenciar o acesso às tabelas do Workday e consultá-las a partir do compute do Databricks.
Para criar um catálogo externo, você pode usar o Catalog Explorer ou o comando SQL CREATE FOREIGN CATALOG em um notebook ou no editor de consultas SQL do Databricks.
- Catalog Explorer
- SQL
- In your Databricks workspace, click
Catalog .
- Na parte superior do painel Catálogo , clique no ícone de adição
e selecione Criar um catálogo no menu.
- Na caixa de diálogo Criar um novo catálogo , insira um nome para o catálogo.
- Select a Type of Foreign .
- Select the Connection you created in Step 1.
- Em Local de armazenamento , insira o caminho do armazenamento em nuvem onde o Databricks armazena os metadados das tabelas federadas.
- Clique em Criar .
Execute o seguinte comando em um notebook ou no editor de consultas 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: Obrigatório. An external location path that Databricks can write to. Databricks uses this location to store metadata for the federated tables. Workday table data isn't copied to this location.
O catálogo externo sempre espelha todo o catálogo do Workday Data Connect ao qual suas credenciais dão acesso. Para limitar o que está visível, defina um principal_role que conceda acesso de leitura apenas às tabelas desejadas ao criar a conexão.
Etapa 3: Conceder permissões e consultar o catálogo
Depois de criar o catálogo externo, os usuários precisam das permissões apropriadas do Unity Catalog para acessar as tabelas federadas:
- Todos os usuários precisam das permissões
USE CATALOGeUSE SCHEMAno catálogo e no esquema, respectivamente. - Para ler em uma tabela federada, os usuários precisam da permissão
SELECT.
For more information about Unity Catalog privileges and how to grant them, see Manage privileges in Unity Catalog.
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>`;
Os usuários com essas permissões podem query as tabelas federadas usando a 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 maneira:
Objeto Workday Data Connect | Objeto do Unity Catalog |
|---|---|
Catálogo | Catálogo externo |
Namespace | Esquema |
Tabela | Tabela externa |
O Workday Data Connect expõe nomes planos de três níveis que mapeiam de forma equivalente um a um para a hierarquia do catalog.schema.table no Unity Catalog. Não há aninhamento adicional de namespaces.
Limitações
A federação de catálogos do Workday Data Connect tem as seguintes limitações:
- O conector pode acessar apenas tabelas do Iceberg compartilhadas por meio do catálogo do Workday Data Connect.
- Os nomes de esquemas e tabelas seguem as limitações padrão de nomenclatura do Unity Catalog. O Databricks não oferece suporte a nomes que contenham um ponto (
.), espaço () ou barra (/). Consulte Requisitos de nomenclatura de objetos protegidos.