Partager via


Utiliser le connecteur Databricks pour se connecter à un autre espace de travail Databricks

Cet article fournit des exemples de syntaxe d’utilisation du connecteur Databricks pour se connecter à un autre espace de travail Databricks. Ce connecteur tire parti du pilote JDBC Databricks, qui est inclus dans Databricks Runtime 13.3 LTS et les versions ultérieures.

Important

Pour la plupart des opérations de partage de données, Databricks recommande Delta Sharing. Consultez Partager des données et des ressources IA de façon sécurisée à l’aide du partage Delta. Vous pouvez également préférer Lakehouse Federation pour gérer les requêtes sur les données d’autres espaces de travail Databricks. Consultez Présentation de Lakehouse Federation.

Connexion à un autre espace de travail Databricks

Le connecteur Databricks Spark vous permet de vous connecter aux ressources de calcul configurées dans un autre espace de travail Databricks, et de retourner les résultats à votre espace de travail Azure Databricks actuel. Vous devez avoir accès au calcul actif sur les deux espaces de travail pour que les requêtes réussissent.

Le pilote JDBC est inscrit pour les URL jdbc:databricks://. Vous devez configurer et utiliser un jeton d’accès personnel qui vous octroie des autorisations sur les ressources d’espace de travail accessibles à distance. Consultez l’API Gestion des jetons.

Remarque

Si une bibliothèque JDBC Databricks est attachée à votre cluster, la version de bibliothèque attachée à votre cluster est utilisée à la place de la version incluse dans Databricks Runtime.

Lire les données d’un autre espace de travail Databricks

Vous pouvez spécifier le format databricks pour utiliser le connecteur Databricks Spark quand vous lisez des données, comme dans l’exemple suivant :

df = (spark.read
  .format("databricks")
  .option("host", "adb-<workspace-id>.<random-number>.azuredatabricks.net")
  .option("httpPath", "/sql/1.0/warehouses/<warehouse-id>")
  .option("personalAccessToken", "<auth-token>")
  .option("dbtable", "<table-name>")
  .load()
)

Créer une table externe référençant un autre espace de travail Databricks

Vous pouvez inscrire une table externe dans un espace de travail Azure Databricks lié à un espace de travail Databricks distinct.

L’exemple suivant illustre cette syntaxe, en utilisant la fonction secret pour obtenir les informations d’identification stockées avec les secrets Databricks :

Remarque

Pour plus d’informations sur les secrets Databricks, consultez fonction secrète.

CREATE TABLE databricks_external_table
USING databricks
OPTIONS (
  host 'adb-<workspace-id>.<random-number>.azuredatabricks.net',
  httpPath '/sql/1.0/warehouses/<warehouse-id>',
  personalAccessToken secret('<scope>', '<token>'),
  dbtable '<table-name>'
);