Aller au contenu principal

Utilisez le connecteur Databricks pour vous connecter à un autre workspace Databricks.

Cet article fournit des exemples de syntaxe d'utilisation du connecteur Databricks pour se connecter à un autre Databricks Workspace. Ce connecteur exploite le Driver JDBC Databricks, qui est inclus dans Databricks Runtime 13.3 LTS et les versions ultérieures.

important

Pour la plupart des opérations de Data Sharing, Databricks recommande OpenSharing. Voir Qu'est-ce qu'OpenSharing ? Vous pouvez également préférer Lakehouse Federation pour gérer les queries sur les données dans d'autres Databricks Workspace. Voir Connectez-vous à des bases de données et des catalogues externes.

Connexion à un autre Workspace Databricks

Le connecteur Databricks Spark vous permet de vous connecter à des ressources de compute configurées dans un autre Databricks Workspace et de renvoyer les résultats à votre Databricks Workspace actuel. Vous devez avoir accès au compute actif sur les deux Workspace pour que les queries aboutissent.

Le driver JDBC est enregistré pour jdbc:databricks:// URL. Vous devez configurer et utiliser un jeton d'accès personnel qui vous octroie des autorisations sur les Ressources du Workspace consultées à distance. Voir l'API de gestion des jetons.

remarque

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

Lisez les données d'un autre Databricks Workspace

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

Python
df = (spark.read
.format("databricks")
.option("host", "<host-name>.cloud.databricks.com")
.option("httpPath", "/sql/1.0/warehouses/<warehouse-id>")
.option("personalAccessToken", "<auth-token>")
.option("dbtable", "<table-name>")
.load()
)

Créez une table externe dans un autre Workspace Databricks

Vous pouvez enregistrer une table externe dans un Workspace Databricks lié à un autre Workspace Databricks.

L'exemple suivant démontre cette syntaxe, en utilisant la fonction secret pour obtenir les identifiants stockés avec les secrets Databricks :

remarque

Pour en savoir plus sur les secrets Databricks, consultez la fonctionsecret.

SQL
CREATE TABLE databricks_external_table
USING databricks
OPTIONS (
host '<host-name>.cloud.databricks.com',
httpPath '/sql/1.0/warehouses/<warehouse-id>',
personalAccessToken secret('<scope>', '<token>'),
dbtable '<table-name>'
);