Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
Questa funzionalità è in versione beta. Per utilizzarlo, un amministratore dello spazio di lavoro deve attivare Workday Data Connect Connector dalla pagina delle anteprime . Vedere Gestire le anteprime di Azure Databricks.
Usa la federazione del catalogo Workday Data Connect per leggere direttamente le tabelle Workday Data Connect dallo storage cloud e aggiungerle al catalogo Unity come tabelle straniere. Le query vengono eseguite interamente su Azure Databricks compute, così i team dati possono scoprire, governare e interrogare queste tabelle da Azure Databricks senza costruire pipeline ETL. L'accesso ai dati è di sola lettura.
Azure Databricks si autentica al catalogo Workday Data Connect come Workday Integration System User (ISU) che registri come principal, usando OAuth con chiave privata.
Workday chiama questo prodotto Workday Data Lake. La documentazione dei partner, inclusa questa pagina, lo chiama Workday Data Connect.
Per saperne di più sulla federazione dei cataloghi, vedi Cos'è la federazione dei cataloghi?.
Note
Questo connettore non assorbe né copia dati in Azure Databricks, e non è collegato ai connettori di ingestione Lakeflow Connect per Workday. Per acquisire i dati di Workday in Azure Databricks, consulta il connettore Workday Reports o il connettore Workday HCM.
Requirements
Esamina i seguenti requisiti prima di configurare la federazione dei cataloghi Workday Data Connect.
Requisiti dell'area di lavoro:
- L'area di lavoro deve essere abilitata per Unity Catalog. Consulta Introduzione al Catalogo Unity.
Requisiti di calcolo:
- Azure Databricks compute deve utilizzare Databricks Runtime 19.8 o superiore e la modalità di accesso standard. La modalità di accesso dedicato non è supportata.
Requisiti di rete:
- Connettività di rete da Azure Databricks al tuo endpoint del catalogo Workday Data Connect a
https://<workday-host>/api/catalog. Non è necessario includere indirizzi IP di Azure Databricks in Workday.
Autorizzazioni necessarie:
- Per creare una connessione, è necessario essere amministratore del metastore o un utente con il privilegio
CREATE CONNECTIONnel metastore Unity Catalog collegato all'area di lavoro. - Per creare un catalogo straniero, è necessario avere il permesso
CREATE CATALOGsul metastore ed essere il proprietario della connessione o avere il privilegioCREATE FOREIGN CATALOGsulla connessione.
Requisiti per la giornata lavorativa:
- Workday Data Connect abilitato per il tuo tenant Workday, con le tabelle che vuoi interrogare condivise tramite il suo catalogo Iceberg REST. Vedi Inizia con Workday Data Lake.
- Un utente del sistema di integrazione Workday (ISU) registrato come entità principale nel catalogo Workday Data Connect, un ruolo per tale entità principale associato a quell'ISU che concede l'accesso in lettura alle tabelle condivise e una coppia di chiavi RSA per tale entità principale. Per registrare il client API, vedi Register API Client for Data Lake (JWT Bearer Grant).
Passo 1: Crea una connessione
Una connessione specifica l'endpoint e le credenziali che Azure Databricks utilizza per comunicare con il catalogo Workday Data Connect.
Per creare una connessione, usa Catalog Explorer o il CREATE CONNECTION comando SQL:
Esploratore di cataloghi
Per creare la connessione:
- Nell'area di lavoro di Azure Databricks fare clic
Catalogo.
- Nella parte superiore del riquadro Catalogo, fare clic sull'icona
e selezionare Crea una connessione dal menu. - Nella pagina Base della Connessione , inserisci un nome della Connessione.
- Seleziona un tipo di connessione di Workday Data Connect.
- Fare clic su Avanti.
- Nella pagina Dettagli della Connessione , inserisci i seguenti valori:
-
Host: Il nome host del tuo endpoint Workday Data Connect, ad
mycompany.myworkday.comesempio. - Inquilino: Il tuo inquilino Workday.
- ID del client: ID del client API di Workday.
- Chiave privata: Una chiave privata RSA in formato PEM.
- Nome dell'entità principale: il nome dell'ISU che hai registrato come entità principale del catalogo.
-
Ruolo principale: Il ruolo principale di Workday che determina l'accesso di lettura alle tabelle condivise. Il valore predefinito è
ALL. Per ridurre l'ambito dell'accesso, imposta un ruolo specifico, ad esempioall-reads-role.
-
Host: Il nome host del tuo endpoint Workday Data Connect, ad
SQL
Eseguire il comando seguente in un notebook o nell'editor di query SQL di 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: Il nome host dell'endpoint Workday Data Connect, per esempiomycompany.myworkday.com. -
tenant: Il tuo inquilino Workday. -
client_id: ID del client API di Workday. -
private_key: Una chiave privata RSA in formato PEM. Databricks consiglia di conservarla come segreto. -
principal_name: Il nome dell'ISU che hai registrato come principale del catalogo. -
principal_role: Il ruolo principale di Workday che definisce l'ambito dell'accesso in lettura alle tabelle condivise. Il valore predefinito èALL. Per ridurre l'ambito dell'accesso, imposta un ruolo specifico, ad esempioall-reads-role.
Databricks consiglia di usare i segreti invece delle stringhe di testo in chiaro per valori sensibili come la chiave privata. Per informazioni sulla creazione di segreti, vedi Gestione dei segreti.
Passo 2: Crea un catalogo straniero
Un catalogo estero rispecchia il catalogo Workday Data Connect nel Catalogo Unity, così puoi usare Unity Catalog per gestire l'accesso alle tabelle Workday e interrogarle dal calcolo di Azure Databricks.
Per creare un catalogo straniero, puoi usare Catalog Explor, il CREATE FOREIGN CATALOG comando SQL in un notebook o l'editor di query SQL di Databricks.
Esploratore di cataloghi
- Nell'area di lavoro di Azure Databricks fare clic
Catalogo.
- Nella parte superiore del riquadro Catalogo, fare clic sull'icona
e selezionare Crea un catalogo dal menu. - Nella finestra di dialogo Crea un nuovo catalogo , inserisci un nome per il catalogo.
- Selezionare un tipo di straniero.
- Seleziona la Connessione che hai creato nel Passo 1.
- Per la posizione di archiviazione, inserisci il percorso di archiviazione cloud dove Azure Databricks memorizza i metadati delle tabelle federate.
- Clicca su Crea.
SQL
Eseguire il seguente comando in un notebook o nell'editor di query SQL di Databricks. Gli elementi tra parentesi sono facoltativi.
CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name>
USING CONNECTION <connection-name>
OPTIONS (storage_root '<storage-root-path>');
-
storage_root:Obbligatorio. Un percorso di posizione esterno su cui Azure Databricks può scrivere. Azure Databricks utilizza questa posizione per memorizzare i metadati delle tabelle federate. I dati delle tabelle del Workday non vengono copiati in questa posizione.
Il catalogo estero rispecchia sempre l'intero catalogo Workday Data Connect a cui le tue credenziali concedono accesso. Per definire ciò che è visibile, imposta una principal_role che conceda accesso di lettura solo alle tabelle che desideri quando crei la connessione.
Passo 3: Concedere permessi e consultare il catalogo
Dopo aver creato il catalogo estero, gli utenti necessitano dei permessi appropriati del Catalogo Unity per accedere alle tabelle federate:
- Tutti gli utenti necessitano delle autorizzazioni
USE CATALOGper il catalogo eUSE SCHEMAper lo schema, rispettivamente. - Per leggere da una tabella federata, gli utenti hanno bisogno del
SELECTpermesso.
Per altre informazioni sui privilegi del catalogo Unity e su come concederli, vedere Gestire i privilegi in Unity Catalog.
Ad esempio, esegui i seguenti comandi in un notebook o nell'editor di query SQL di 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>`;
Gli utenti con questi permessi possono quindi interrogare le tabelle federate utilizzando la notazione a tre livelli dello spazio dei nomi:
SELECT * FROM <catalog-name>.<schema-name>.<table-name>;
Mappatura dello spazio dei nomi
Il Catalogo Unity rispecchia la gerarchia degli oggetti di Workday Data Connect come segue:
| Oggetto Workday Data Connect | Oggetto del Catalogo di Unity |
|---|---|
| Catalog | Catalogo straniero |
| Namespace | Schema |
| Table | Tabella esterna |
Workday Data Connect espone nomi piatti a tre livelli che corrispondono uno a uno alla gerarchia del Catalogo catalog.schema.table Unity. Non c'è ulteriore annidamento di namespace.
Limitations
La federazione dei cataloghi Workday Data Connect presenta le seguenti limitazioni:
- Il connettore può accedere solo alle tabelle Iceberg condivise tramite il catalogo Workday Data Connect.
- I nomi degli schemi e delle tabelle seguono le limitazioni standard di denominazione del Catalogo Unity. Azure Databricks non supporta nomi che contengono un punto (
.), spazio () o barra avanzata (/). Vedere Requisiti di denominazione degli oggetti proteggibili.