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.
Questa pagina offre una panoramica dell'uso dell'API REST di Unity per accedere alle tabelle gestite ed esterne di Unity Catalog da client Delta esterni. Per creare tabelle Delta esterne da client esterni, vedere Creare tabelle Delta esterne da client esterni.
Usare il catalogo REST di Iceberg per leggere le tabelle registrate dal catalogo Unity in Azure Databricks dai client Iceberg supportati, tra cui Apache Spark e DuckDB.
Per un elenco completo delle integrazioni supportate, vedere Integrazioni del catalogo Unity.
Consiglio
Per informazioni su come leggere i dati di Azure Databricks con Microsoft Fabric, vedere Usare Microsoft Fabric per leggere i dati registrati in Unity Catalog.
Leggere e scrivere usando l'API REST di Unity
L'API REST di Unity fornisce ai client esterni l'accesso in lettura alle tabelle registrate nel catalogo unity. Alcuni client supportano anche la creazione di tabelle e la scrittura in tabelle esistenti.
Configurare l'accesso usando l'endpoint /api/2.1/unity-catalog.
Requisiti
Azure Databricks supporta l'accesso alle tabelle tramite Unity REST API come parte di Unity Catalog. Per usare questi endpoint, è necessario abilitare Unity Catalog nell'area di lavoro. I tipi di tabella seguenti sono idonei per le letture dell'API REST di Unity:
- Tabelle gestite di Unity Catalog.
- Tabelle esterne del catalogo Unity.
È necessario completare i passaggi di configurazione seguenti per configurare l'accesso per leggere gli oggetti Databricks dai client Delta usando l'API REST di Unity:
- Abilitare l'accesso ai dati esterni per il metastore. Vedere Abilitare l'accesso ai dati esterni nel metastore.
- Concedere al ruolo principale che configura l'integrazione il privilegio
EXTERNAL USE SCHEMAnello schema contenente gli oggetti. Vedi Concedere privilegi del catalogo Unity a un'entità di sicurezza. - Eseguire l'autenticazione con uno dei metodi seguenti:
- Token di accesso personale (PAT): vedere Autorizzare l'accesso alle risorse di Azure Databricks.
- Autenticazione da computer a computer OAuth (M2M): supporta l'aggiornamento automatico delle credenziali e dei token per i processi Spark a esecuzione prolungata (>1 ora). Vedere Autorizzare l'accesso dell'entità servizio ad Azure Databricks con OAuth.
Leggere le tabelle Delta con Apache Spark usando l'autenticazione PAT
Per leggere le tabelle Delta gestite ed esterne di Unity con Apache Spark tramite l'autenticazione PAT, è necessaria la configurazione seguente:
"spark.sql.extensions": "io.delta.sql.DeltaSparkSessionExtension",
"spark.sql.catalog.spark_catalog": "io.unitycatalog.spark.UCSingleCatalog",
"spark.sql.catalog.<uc-catalog-name>": "io.unitycatalog.spark.UCSingleCatalog",
"spark.sql.catalog.<uc-catalog-name>.uri": "<workspace-url>/api/2.1/unity-catalog",
"spark.sql.catalog.<uc-catalog-name>.token": "<token>",
"spark.sql.defaultCatalog": "<uc-catalog-name>",
"spark.jars.packages": "io.delta:delta-spark_2.13:4.0.1,io.unitycatalog:unitycatalog-spark_2.13:0.3.1,org.apache.hadoop:hadoop-azure:3.3.6"
Sostituire le variabili seguenti:
-
<uc-catalog-name>: nome del catalogo in Unity Catalog che contiene le tabelle. -
<workspace-url>: URL dell'area di lavoro di Azure Databricks. -
<token>: token di accesso personale (PAT) per l'entità che configura l'integrazione.
Per abilitare il rinnovo automatico delle credenziali per i processi a esecuzione prolungata, aggiungere la configurazione seguente:
"spark.sql.catalog.<catalog-name>.renewCredential.enabled": true
Annotazioni
Le versioni del pacchetto illustrate in precedenza sono correnti a partire dall'ultimo aggiornamento di questa pagina. Potrebbero essere disponibili versioni più recenti. Verificare che le versioni dei pacchetti siano compatibili con la versione di Databricks Runtime e la versione di Spark.
Per altri dettagli sulla configurazione di Apache Spark per l'archiviazione di oggetti cloud, vedere la documentazione relativa al sistema operativo del catalogo Unity.
Leggere le tabelle Delta con Apache Spark usando l'autenticazione OAuth
Azure Databricks supporta anche l'autenticazione da computer a computer (M2M) OAuth. OAuth gestisce automaticamente il rinnovo dei token per l'autenticazione del catalogo Unity. Per i processi a esecuzione prolungata che richiedono anche il rinnovo automatico delle credenziali di archiviazione cloud, abilitare l'impostazione spark.sql.catalog.<uc-catalog-name>.renewCredential.enabled nella configurazione di Spark.
L'autenticazione OAuth per i client Spark esterni richiede:
- Client Spark di Unity Catalog versione 0.3.1 o successiva (
io.unitycatalog:unitycatalog-spark) - Apache Spark 4.0 o versione successiva
- Delta Spark 4.0.1 o versione successiva con supporto OAuth
- Principale del servizio OAuth M2M con autorizzazioni corrette. Vedere Autorizzare l'accesso dell'entità servizio ad Azure Databricks con OAuth.
La configurazione seguente è necessaria per leggere le tabelle gestite di Unity Catalog e le tabelle Delta esterne con Apache Spark usando l'autenticazione OAuth:
"spark.sql.extensions": "io.delta.sql.DeltaSparkSessionExtension",
"spark.sql.catalog.spark_catalog": "io.unitycatalog.spark.UCSingleCatalog",
"spark.sql.catalog.<uc-catalog-name>": "io.unitycatalog.spark.UCSingleCatalog",
"spark.sql.catalog.<uc-catalog-name>.uri": "<workspace-url>/api/2.1/unity-catalog",
"spark.sql.catalog.<uc-catalog-name>.auth.type": "oauth",
"spark.sql.catalog.<uc-catalog-name>.auth.oauth.uri": "<oauth-token-endpoint>",
"spark.sql.catalog.<uc-catalog-name>.auth.oauth.clientId": "<oauth-client-id>",
"spark.sql.catalog.<uc-catalog-name>.auth.oauth.clientSecret": "<oauth-client-secret>",
"spark.sql.catalog.<uc-catalog-name>.renewCredential.enabled": "true",
"spark.sql.defaultCatalog": "<uc-catalog-name>",
"spark.jars.packages": "io.delta:delta-spark_2.13:4.0.1,io.unitycatalog:unitycatalog-spark_2.13:0.3.1,org.apache.hadoop:hadoop-azure:3.3.6"
Sostituire le variabili seguenti:
-
<uc-catalog-name>: nome del catalogo in Unity Catalog che contiene le tabelle. -
<workspace-url>: URL dell'area di lavoro di Azure Databricks. Consultare nomi di istanza dell'area di lavoro, URL e ID. -
<oauth-token-endpoint>: URL dell'endpoint del token OAuth. Per costruire questo URL:- Individuare l'ID dell'account Databricks. Vedi Trova l'ID del tuo account.
- Usare il formato:
https://accounts.cloud.databricks.com/oidc/accounts/<account-id>/v1/token
-
<oauth-client-id>: ID client OAuth per il principale del servizio. Vedere Autorizzare l'accesso dell'entità servizio ad Azure Databricks con OAuth. -
<oauth-client-secret>: segreto client OAuth per il principale del servizio. Vedere Autorizzare l'accesso dell'entità servizio ad Azure Databricks con OAuth.
Annotazioni
Le versioni del pacchetto illustrate in precedenza sono correnti a partire dall'ultimo aggiornamento di questa pagina. Potrebbero essere disponibili versioni più recenti. Verificare che le versioni dei pacchetti siano compatibili con la versione di Spark.