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.
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.
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 :
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 :
Pour en savoir plus sur les secrets Databricks, consultez la fonctionsecret.
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>'
);