Partager via


Lire des tables Databricks depuis des clients Delta

Cette page fournit une vue d’ensemble de l’utilisation de l’API REST Unity pour accéder aux tables managées et externes du catalogue Unity à partir de clients Delta externes. Pour créer des tables Delta externes à partir de clients externes, consultez Créer des tables Delta externes à partir de clients externes.

Utilisez le catalogue REST Iceberg pour lire des tables inscrites dans le catalogue Unity sur Azure Databricks à partir de clients Iceberg pris en charge, notamment Apache Spark et DuckDB.

Pour obtenir la liste complète des intégrations prises en charge, consultez intégrations du catalogue Unity.

Conseil / Astuce

Pour plus d’informations sur la lecture des données Azure Databricks à l’aide de Microsoft Fabric, consultez Utiliser Microsoft Fabric pour lire des données inscrites dans le catalogue Unity.

Lecture et écriture à l’aide de l’API REST Unity

L’API REST Unity fournit aux clients externes un accès en lecture aux tables inscrites dans le catalogue Unity. Certains clients prennent également en charge la création de tables et l’écriture dans des tables existantes.

Configurez l’accès à l’aide du point de terminaison /api/2.1/unity-catalog.

Spécifications

Azure Databricks prend en charge l’accès de l’API REST Unity aux tables dans le cadre du catalogue Unity. Le catalogue Unity doit être activé dans votre espace de travail pour utiliser ces points de terminaison. Les types de tableau suivants sont éligibles pour les lectures de l’API REST Unity :

  • Tables gérées par le catalogue Unity.
  • Tables externes du catalogue Unity.

Vous devez suivre les étapes de configuration suivantes pour configurer l’accès aux objets Databricks en lecture à partir de clients Delta à l’aide de l’API REST Unity :

Lire des tables Delta avec Apache Spark à l’aide de l’authentification PAT

La configuration suivante est nécessaire pour lire les tables Delta managées et externes du catalogue Unity avec Apache Spark à l’aide de l’authentification PAT :

"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"

Remplacez les variables suivantes :

  • <uc-catalog-name>: nom du catalogue dans le catalogue Unity qui contient vos tables.
  • <workspace-url>: URL de l’espace de travail Azure Databricks.
  • <token>: jeton d’accès personnel (PAT) pour la personne principale configurant l’intégration.

Pour activer le renouvellement automatique des informations d’identification pour les travaux de longue durée, ajoutez la configuration suivante :

"spark.sql.catalog.<catalog-name>.renewCredential.enabled": true

Note

Les versions de package indiquées ci-dessus sont actuelles à compter de la dernière mise à jour de cette page. Des versions plus récentes peuvent être disponibles. Vérifiez que les versions de package sont compatibles avec la version de Databricks Runtime et la version Spark.

Pour plus d’informations sur la configuration d’Apache Spark pour le stockage d’objets cloud, consultez la documentation du catalogue Unity OSS.

Lire des tables Delta avec Apache Spark à l’aide de l’authentification OAuth

Azure Databricks prend également en charge l’authentification de machine à machine (M2M) OAuth. OAuth gère automatiquement le renouvellement des jetons pour l’authentification du catalogue Unity. Pour les travaux de longue durée qui nécessitent également un renouvellement automatique des informations d’identification de stockage cloud, activez le spark.sql.catalog.<uc-catalog-name>.renewCredential.enabled paramètre dans votre configuration Spark.

L’authentification OAuth pour les clients Spark externes nécessite :

La configuration suivante est nécessaire pour lire les tables managées du catalogue Unity et les tables Delta externes avec Apache Spark à l’aide de l’authentification 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"

Remplacez les variables suivantes :

Note

Les versions de package indiquées ci-dessus sont actuelles à compter de la dernière mise à jour de cette page. Des versions plus récentes peuvent être disponibles. Vérifiez que les versions de package sont compatibles avec votre version Spark.