Workday Data Connect katalogfederation

Important

Den här funktionen finns i Beta. För att använda den måste en administratör för arbetsytan slå på Workday Data Connect Connector från sidan för förhandsvisningar . Se Hantera förhandsversioner av Azure Databricks.

Använd Workday Data Connect katalogfederation för att läsa Workday Data Connect-tabeller direkt från molnlagring och lägga till dem i Unity Catalog som främmande tabeller. Frågor körs helt på Azure Databricks beräkning, så datateam kan upptäcka, styra och fråga dessa tabeller från Azure Databricks utan att bygga ETL-pipelines. Dataåtkomst är skrivskyddad.

Azure Databricks autentiserar sig till Workday Data Connect-katalogen som en Workday Integration System User (ISU) som du registrerar som principal, med hjälp av OAuth med en privat nyckel.

Workday kallar denna produkt Workday Data Lake. Partnerdokumentation, inklusive denna sida, kallar den Workday Data Connect.

För att lära dig mer om katalogfederation, se Vad är katalogfederation?.

Note

Denna connector importerar eller kopierar inte data till Azure Databricks, och den är inte relaterad till Lakeflow Connect-intagningskopplingarna för Workday. För att istället importera Workday-data till Azure Databricks, se Workday Reports connector eller Workday HCM connector.

Requirements

Gå igenom följande krav innan du sätter upp en katalogfederation för Workday Data Connect.

Krav för arbetsyta:

Beräkningskrav:

  • Azure Databricks-beräkningsresurser måste använda Databricks Runtime 19.8 eller senare och åtkomstläget standard. Dedikerat åtkomstläge stöds inte.

Nätverkskrav:

  • Nätverksanslutning från Azure Databricks till din Workday Data Connect-katalogslutpunkt vid https://<workday-host>/api/catalog. Du behöver inte lägga till Azure Databricks IP-adresser i tillåtelselistan i Workday.

Behörigheter som krävs:

  • Om du vill skapa en anslutning måste du vara metaarkivadministratör eller användare med CREATE CONNECTION behörighet i Unity Catalog-metaarkivet som är kopplat till arbetsytan.
  • Om du vill skapa en extern katalog måste du ha behörigheten CREATE CATALOG i metaarkivet och antingen vara ägare till anslutningen eller ha CREATE FOREIGN CATALOG behörighet för anslutningen.

Arbetsdagskrav:

  • Workday Data Connect aktiverad för din Workday-tenant, med tabellerna du vill söka delade via dess Iceberg REST-katalog. Se Kom igång med Workday Data Lake.
  • En Workday Integration System User (ISU) registrerad som principal i Workday Data Connect-katalogen, en huvudroll för den ISU:n som ger läsåtkomst till de delade tabellerna, samt ett RSA-nyckelpar för den principalen. För att registrera API-klienten, se Registrera API-klient för Data Lake (JWT Bearer Grant).

Steg 1: Skapa en kontakt

En anslutning anger den slutpunkt och de autentiseringsuppgifter som Azure Databricks använder för att kommunicera med Workday Data Connect-katalogen.

För att skapa en anslutning, använd Catalog Explorer eller SQL-kommandot CREATE CONNECTION :

Katalogutforskaren

Så här skapar du anslutningen:

  1. På din Azure Databricks-arbetsyta klickar du på dataikonen.Katalog.
  2. Längst upp i fönstret Katalog klickar du på ikonen Lägg till eller plus plus och väljer Skapa en anslutning på menyn.
  3. På sidan Anslutningsgrunder , ange ett Anslutningsnamn.
  4. Välj en anslutningstyp av Workday Data Connect.
  5. Klicka på Nästa.
  6. På sidan för anslutningsdetaljer , ange följande värden:
    • Värdnamn: Värdnamnet för din Workday Data Connect-slutpunkt, till exempel mycompany.myworkday.com.
    • Hyresgäst: Din Workday-hyresgäst.
    • Klient-ID: Klient-ID för Workday API-klienten.
    • Privat nyckel: En RSA-privat nyckel i PEM-format.
    • Huvudnamn: Namnet på den ISU som du registrerade som katalogens huvudnamn.
    • Huvudroll: Workday-huvudrollen som begränsar läsåtkomst till de delade tabellerna. Standardvärdet är ALL. För att begränsa åtkomsten, sätt en specifik roll, till exempel all-reads-role.

SQL

Kör följande kommando i en notebook-fil eller Databricks SQL-frågeredigeraren:

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: Värdnamnet på din Workday Data Connect-endpoint, till exempel mycompany.myworkday.com.
  • tenant: Din Workday-hyresgäst.
  • client_id: Klient-ID för Workday API-klienten.
  • private_key: En RSA-privat nyckel i PEM-format. Databricks rekommenderar att du lagrar det som en hemlighet.
  • principal_name: Namnet på det ISU som du registrerade som katalogansvarig.
  • principal_role: Den primära rollen i Workday som styr läsåtkomsten till de delade tabellerna. Standardvärdet är ALL. För att begränsa åtkomsten, sätt en specifik roll, till exempel all-reads-role.

Databricks rekommenderar att du använder hemligheter istället för klartextsträngar för känsliga värden som den privata nyckeln. För information om att skapa hemligheter, se Hemlighetshantering.

Steg 2: Skapa en utländsk katalog

En utländsk katalog speglar Workday Data Connect-katalogen i Unity Catalog så att du kan använda Unity Catalog för att hantera åtkomst till Workday-tabellerna och fråga dem från Azure Databricks beräkning.

För att skapa en utländsk katalog kan du använda Catalog Explorer eller SQL-kommandot CREATE FOREIGN CATALOG i en anteckningsbok eller Databricks SQL-frågeredigerare.

Katalogutforskaren

  1. På din Azure Databricks-arbetsyta klickar du på dataikonen.Katalog.
  2. Längst upp i fönstret Katalog klickar du på ikonen Lägg till eller plus plus och väljer Skapa en katalog på menyn.
  3. I dialogen Skapa en ny katalog , ange ett namn för katalogen.
  4. Välj en typ av utländsk.
  5. Välj anslutningen du skapade i steg 1.
  6. För Lagringsplats anger du sökvägen till molnlagringen där Azure Databricks lagrar metadata för de federerade tabellerna.
  7. Klicka på Skapa.

SQL

Kör följande kommando i en notebook-fil eller Databricks SQL-frågeredigeraren. Objekt inom hakparenteser är valfria.

CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name>
USING CONNECTION <connection-name>
OPTIONS (storage_root '<storage-root-path>');
  • storage_root:Krävs. En sökväg till en extern plats som Azure Databricks kan skriva till. Azure Databricks använder denna plats för att lagra metadata för de federerade tabellerna. Data i Workday-tabellen kopieras inte till den här platsen.

Den utländska katalogen speglar alltid hela Workday Data Connect-katalogen som dina inloggningsuppgifter ger tillgång till. För att begränsa vad som syns, ställ in en principal_role som bara ger läsåtkomst till de tabeller du vill ha när du skapar anslutningen.

Steg 3: Bevilja behörigheter och fråga katalogen

Efter att du skapat den utländska katalogen behöver användare lämpliga Unity-katalogbehörigheter för att komma åt de federerade tabellerna:

  • Alla användare behöver USE CATALOG och USE SCHEMA behörigheter för katalogen respektive schemat.
  • För att läsa från en federerad tabell behöver användarna behörigheten SELECT .

Mer information om behörigheter för Unity-katalogen och hur du beviljar dem finns i Hantera privilegier i Unity Catalog.

Till exempel, kör följande kommandon i en anteckningsbok eller Databricks SQL-frågeredigerare:

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

Användare med dessa behörigheter kan sedan fråga de federerade tabellerna med hjälp av tre-nivå-namnrymdsnotation:

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

Mappning av namnrymder

Unity Catalog speglar hierarkin för Workday Data Connect-objektet enligt följande:

Workday Data Connect-objektet Unity Catalog-objekt
Catalog Utländsk katalog
Namespace Schema
Table Utländsk tabell

Workday Data Connect tillhandahåller platta namn i tre nivåer som motsvarar Unity Catalog catalog.schema.table-hierarkin i ett en-till-en-förhållande. Det finns ingen ytterligare kapsling av namnrymder.

Limitations

Workday Data Connect-katalogfederationen har följande begränsningar:

  • Connectorn kan endast komma åt Iceberg-tabeller som delas via Workday Data Connect-katalogen.
  • Schema- och tabellnamn följer standardbegränsningar för namngivning i Unity-katalogen. Azure Databricks stöder inte namn som innehåller en punkt (.), ett mellanslag ( ) eller ett framåtriktat snedstreck (/). Se Namngivningskrav för skyddsbara objekt.