Workday Data Connect catalogusfederatie

Important

Deze functie bevindt zich in de bètaversie. Om dit te gebruiken, moet een workspace-beheerder Workday Data Connect Connector inschakelen op de pagina Previews. Zie Azure Databricks previews beheren.

Gebruik de catalogusfederatie van Workday Data Connect om Workday Data Connect-tabellen direct uit de cloudopslag te lezen en deze als vreemde tabellen toe te voegen aan Unity Catalog. Queries draaien volledig op Azure Databricks compute, zodat datateams deze tabellen kunnen ontdekken, beheren en opvragen vanuit Azure Databricks zonder ETL-pijplijnen te bouwen. De toegang tot data is alleen-lezen.

Azure Databricks authenticeert zich bij de Workday Data Connect-catalogus als een Workday Integration System User (ISU) die u als principal registreert, via OAuth met een private key.

Workday noemt dit product Workday Data Lake. Partnerdocumentatie, inclusief deze pagina, noemt het Workday Data Connect.

Voor meer informatie over catalogusfederatie, zie Wat is catalogusfederatie?.

Note

Deze connector neemt geen data in of kopieert geen data naar Azure Databricks, en het heeft ook geen relatie met de Lakeflow Connect ingestieconnectors voor Workday. Als u in plaats daarvan Workday-gegevens wilt opnemen in Azure Databricks, raadpleegt u Workday Reports connector of Workday HCM connector.

Requirements

Bekijk de volgende vereisten voordat je de catalogusfederatie van Workday Data Connect opzet.

Vereisten voor werkruimte:

Rekenvereisten:

  • Azure Databricks compute moet Databricks Runtime 19.8 of hoger en standaard toegangsmodus gebruiken. De dedicated toegangsmodus wordt niet ondersteund.

Netwerkvereisten:

  • Netwerkconnectiviteit van Azure Databricks naar het cataloguseindpunt van Workday Data Connect op https://<workday-host>/api/catalog. Je hoeft geen IP-adressen van Azure Databricks in Workday te laten toestaan.

Vereiste toestemmingen:

  • Als u een verbinding wilt maken, moet u een metastore-beheerder of een gebruiker zijn met de CREATE CONNECTION bevoegdheid voor de Unity Catalog-metastore die is gekoppeld aan de werkruimte.
  • Als u een buitenlandse catalogus wilt maken, moet u de machtiging CREATE CATALOG hebben voor de metastore en ofwel de eigenaar van de verbinding zijn of het privilege CREATE FOREIGN CATALOG voor de verbinding hebben.

Vereisten voor werkdagen:

  • Workday Data Connect ingeschakeld voor je Workday-tenant, waarbij de tabellen die je wilt opvragen gedeeld worden via de Iceberg REST-catalogus. Zie Begin met Workday Data Lake.
  • Een Workday Integration System User (ISU) geregistreerd als principal in de Workday Data Connect catalogus, een principal rol voor die ISU die leestoegang verleent tot de gedeelde tabellen, en een RSA-sleutelpaar voor die principal. Om de API-client te registreren, zie Register API Client for Data Lake (JWT Bearer Grant).

Stap 1: Maak een verbinding

Een verbinding specificeert het eindpunt en de inloggegevens die Azure Databricks gebruikt om te communiceren met de Workday Data Connect-catalogus.

Om een verbinding te maken, gebruik je Catalog Explorer of het CREATE CONNECTION SQL-commando:

Catalogusverkenner

De verbinding maken:

  1. Klik in uw Azure Databricks werkruimte op Gegevenspictogram.Catalog.
  2. Klik bovenaan het deelvenster Catalogus op het pluspictogram toevoegen en selecteer Verbinding maken in het menu.
  3. Op de pagina Basisverbindingen voert u een Verbindingsnaam in.
  4. Selecteer een verbindingstype voor Workday Data Connect.
  5. Klik op Next.
  6. Voer op de pagina Verbindingsdetails de volgende waarden in:
    • Host: De hostnaam van je Workday Data Connect-endpoint, bijvoorbeeld mycompany.myworkday.com.
    • Huurder: Uw Workday-huurder.
    • Client ID: Client ID van de Workday API-client.
    • Privésleutel: Een RSA-privésleutel in PEM-formaat.
    • Naam van de hoofdpersoon: De naam van de ISU die u als catalogusdirecteur hebt geregistreerd.
    • Primaire rol: De primaire rol in Workday die de leestoegang tot de gedeelde tabellen afbakent. De standaardwaarde is ALL. Om de toegang te beperken, stel je bijvoorbeeld een specifieke rol in.all-reads-role

SQL

Voer de volgende opdracht uit in een notebook of de Sql-queryeditor van 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: De hostnaam van je Workday Data Connect-endpoint, bijvoorbeeld mycompany.myworkday.com.
  • tenant: Uw Workday-huurder.
  • client_id: Client-ID van de Workday API-client.
  • private_key: Een RSA-privésleutel in PEM-formaat. Databricks raadt aan om het als geheim op te slaan.
  • principal_name: De naam van de ISU die u als catalogusprincipal hebt geregistreerd.
  • principal_role: De primaire rol in Workday die de leestoegang tot de gedeelde tabellen afbakent. De standaardwaarde is ALL. Om de toegang te beperken, stel je bijvoorbeeld een specifieke rol in.all-reads-role

Databricks raadt aan om geheimen te gebruiken in plaats van platte tekststrings voor gevoelige waarden zoals de private key. Voor informatie over het creëren van geheimen, zie Geheimbeheer.

Stap 2: Maak een buitenlandse catalogus aan

Een vreemde catalogus spiegelt de Workday Data Connect-catalogus in Unity Catalog, zodat je Unity Catalog kunt gebruiken om toegang tot de Workday-tabellen te beheren en deze te bevragen vanuit Azure Databricks compute.

Om een vreemde catalogus te maken, kun je Catalog Explorer of het CREATE FOREIGN CATALOG SQL-commando in een notitieboekje of de Databricks SQL-queryeditor gebruiken.

Catalogusverkenner

  1. Klik in uw Azure Databricks werkruimte op Gegevenspictogram.Catalog.
  2. Klik bovenaan het deelvenster Catalogus op het Add or plus iconpictogram Toevoegen of plusteken en selecteer Een catalogus maken in het menu.
  3. Voer in het dialoog 'Maak een nieuwe catalogus ' een naam voor de catalogus in.
  4. Selecteer een typevreemd.
  5. Selecteer de verbinding die je in Stap 1 hebt gemaakt.
  6. Voor opslaglocatie voer je het cloudopslagpad in waar Azure Databricks metadata opslaat voor de gefedereerde tabellen.
  7. Klik op Create.

SQL

Voer de volgende opdracht uit in een notebook of de Sql-query-editor van Databricks. Items tussen haakjes zijn optioneel.

CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name>
USING CONNECTION <connection-name>
OPTIONS (storage_root '<storage-root-path>');
  • storage_root: Vereist. Een extern locatiepad waar Azure Databricks naartoe kan schrijven. Azure Databricks gebruikt deze locatie om metadata op te slaan voor de gefedereerde tabellen. Workday-tabel data wordt niet naar deze locatie gekopieerd.

De buitenlandse catalogus weerspiegelt altijd de volledige Workday Data Connect-catalogus waar je inloggegevens toegang toe geven. Om te beperken wat zichtbaar is, stel je een principal_role in die alleen leestoegang geeft tot de tabellen die je wilt wanneer je de verbinding aanmaakt.

Stap 3: Verleen rechten en raadpleeg de catalogus

Nadat je de buitenlandse catalogus hebt aangemaakt, hebben gebruikers de juiste Unity Catalog-rechten nodig om toegang te krijgen tot de gefedereerde tabellen:

  • Alle gebruikers hebben respectievelijk machtigingen voor USE CATALOG de catalogus en het schema nodigUSE SCHEMA.
  • Om uit een gefedereerde tabel te lezen, hebben gebruikers de SELECT toestemming nodig.

Zie Bevoegdheden beheren in Unity Catalog voor meer informatie over Unity Catalog-bevoegdheden en hoe u deze kunt verlenen.

Voer bijvoorbeeld de volgende commando's uit in een notitieboekje of de Databricks SQL-query-editor:

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>`;

Gebruikers met deze rechten kunnen vervolgens de gefedereerde tabellen bevragen met behulp van de drie-niveau namespace-notatie:

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

Toewijzing van naamruimten

Unity Catalog weerspiegelt de hiërarchie van de Workday Data Connect objecten als volgt:

Workday Data Connect-object Unity Catalogobject
Catalog Buitenlandse catalogus
Namespace Schema
Table Externe tabel

Workday Data Connect biedt platte namen op drie niveaus die één-op-één overeenkomen met de hiërarchie van Unity Catalog catalog.schema.table. Er is geen extra naamruimte-nesting.

Limitations

De catalogusfederatie van Workday Data Connect heeft de volgende beperkingen:

  • De connector kan alleen toegang krijgen tot Iceberg-tabellen die gedeeld worden via de Workday Data Connect-catalogus.
  • Schema- en tabelnamen volgen de standaard naambeperkingen van de Unity Catalog. Azure Databricks ondersteunt geen namen die een punt (.), spasie ( ) of forward slash (/) bevatten. Zie Vereisten voor naamgeving van beveiligbare objecten.