Condividi tramite


Leggi le tabelle di Databricks dai client della piattaforma Delta

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:

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:

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:

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.