Aller au contenu principal

Configurez une connexion à Databricks à l'aide du Driver JDBC Databricks.

Cette page vous explique comment configurer une connexion à Databricks à l'aide du Databricks JDBC Driver, version 3 et supérieures.

Configurer la connexion

Pour vous connecter à votre espace de travail Databricks à l'aide du driver JDBC, vous devez spécifier les paramètres de connexion, notamment le hostname du serveur de votre espace de travail, les paramètres des ressources de compute et les informations d'identification d'authentification.

remarque

Le driver JDBC ne prend pas en charge la connexion au compute des jobs.

Définissez ces propriétés sur l'URL de connexion JDBC, transmettez-les à la méthode DriverManager.getConnection, ou utilisez une combinaison des deux. Consultez la documentation du fournisseur pour savoir comment vous connecter au mieux en utilisant votre application, client, SDK, API ou outil SQL spécifique.

L'URL de connexion JDBC doit être au format suivant. Les propriétés ne sont pas sensibles à la casse.

jdbc:databricks://<server-hostname>:<port>/<schema>;[property1]=[value];[property2]=[value];...

Vous pouvez également spécifier les paramètres à l'aide de la classe java.util.Properties ou d'une combinaison :

Java
String url = "jdbc:databricks://<server-hostname>:<port>/<schema>";
Properties properties = new java.util.Properties();
properties.put("<property1>", "<value1");
properties.put("<property2>", "<value2");
// ...
Connection conn = DriverManager.getConnection(url, properties);
Java
String url = "jdbc:databricks://<server-hostname>:<port>/<schema>;[property1]=[value];[property2]=[value];";
Connection conn = DriverManager.getConnection(url, "token", "12345678901234667890abcdabcd");

Les éléments de l'URL de connexion sont décrits dans le tableau suivant.

Pour en savoir plus sur les propriétés supplémentaires, notamment les propriétés d’authentification, les propriétés de configuration SQL et les propriétés de journalisation, consultez Propriétés de connexion prises en charge.

remarque

Les éléments et propriétés d'URL ne sont pas sensibles à la casse.

Élément ou propriété de l'URL

Description

<server-hostname>

La valeur du Hostname du serveur de la Ressource de compute Databricks.

<port>

La valeur de port de la ressource de compute Databricks. La valeur par default est 443.

<schema>

Le nom du schéma. Vous pouvez également définir la propriété ConnSchema. Voir les propriétés de connexion prises en charge.

httpPath

La valeur du chemin HTTP de la ressource de compute Databricks. Le connecteur forme l'adresse HTTP à laquelle se connecter en ajoutant la valeur httpPath à l'hôte et au port spécifiés dans l'URL de connexion. Par exemple, pour vous connecter à l'adresse HTTP http://localhost:10002/cliservice, vous utiliseriez l'URL de connexion suivante : jdbc:databricks://localhost:10002;httpPath=cliservice

Élément ou propriété de l'URL

Description

<server-hostname>

La valeur du Hostname du serveur de la Ressource de compute Databricks.

<port>

La valeur de port de la ressource de compute Databricks. La valeur par default est 443.

<schema>

Le nom du schéma. Vous pouvez également définir la propriété ConnSchema. Voir les propriétés de connexion prises en charge.

httpPath

La valeur du chemin HTTP de la ressource de compute Databricks. Le connecteur forme l'adresse HTTP à laquelle se connecter en ajoutant la valeur httpPath à l'hôte et au port spécifiés dans l'URL de connexion. Par exemple, pour vous connecter à l'adresse HTTP http://localhost:10002/cliservice, vous utiliseriez l'URL de connexion suivante : jdbc:databricks://localhost:10002;httpPath=cliservice

Pour obtenir l'URL de connexion JDBC pour un cluster Databricks :

  1. Connectez-vous à votre workspace Databricks.
  2. Dans la barre latérale, cliquez sur Compute , puis cliquez sur le nom du cluster cible.
  3. Dans l'onglet **Configuration**, développez les **Options avancées**.
  4. Cliquez sur la tab JDBC/ODBC .
  5. Copiez l'**URL JDBC** à utiliser comme URL de connexion JDBC, ou construisez l'URL à partir des valeurs dans les champs **hostname du serveur**, **Port** et **Chemin HTTP**.

Pour obtenir l'URL de connexion JDBC pour un SQL Warehouse Databricks :

  1. Connectez-vous à votre workspace Databricks.
  2. Dans la barre latérale, cliquez sur SQL Warehouses , puis cliquez sur le nom du warehouse cible.
  3. Cliquez sur l'onglet Connection details tab.
  4. Copiez l'**URL JDBC** à utiliser comme URL de connexion JDBC, ou construisez l'URL à partir des valeurs dans les champs **hostname du serveur**, **Port** et **Chemin HTTP**.

Configurer les tags de query

info

Aperçu

Cette fonctionnalité est en préversion privée. Pour demander l'accès, contactez votre équipe de compte.

Associez des tags clé-valeur aux queries SQL à des fins de suivi et d'analytique. Les tags apparaissent dans la table system.query.history pour l'identification des query et l'analyse.

Pour ajouter des tags de query à votre connexion, incluez la propriété query_tags dans votre URL JDBC :

jdbc:databricks://<server-hostname>:<port>/<schema>;query_tags=key1:value1,key2:value2

Les balises de query utilisent une clé séparée par des virgules Format de paire :

  • query_tags=key:value (un seul tag)
  • query_tags=key1:value1,key2:value2,key3:value3 (plusieurs balises)

Configurer les connexions proxy

Configurez le connecteur pour vous connecter via un serveur proxy au lieu de vous connecter directement à Databricks. Le connecteur prend en charge l'authentification de base et SPNEGO lors de la connexion via un serveur proxy. Consultez les propriétés de connexion prises en charge.

Pour utiliser les paramètres de proxy au niveau du système, définissez UseProxy=1 et UseSystemProxy=1.

Pour configurer manuellement les paramètres de proxy :

  1. Définir UseProxy=1.
  2. Définissez ProxyHost, ProxyPort et ProxyIgnoreList.
  3. Pour vous authentifier auprès du serveur proxy, choisissez une méthode :
    • De base : définissez ProxyAuth=1, ProxyUID et ProxyPWD.
    • SPNEGO (environnements Kerberos) : Authentifiez votre principal Kerberos au niveau du système, puis définissez ProxyAuth=2.

Configurez un proxy pour Cloud Fetch.

Cloud Fetch nécessite une configuration de proxy distincte de la connexion driver principale. Utilisez les propriétés de connexion UseCFProxy, CFProxyHost, CFProxyPort, CFProxyAuth, CFProxyUID et CFProxyPwd pour acheminer le trafic Cloud Fetch via un proxy. Voir les propriétés de connexion prises en charge.

Cloud Fetch download les fichiers de résultats directement depuis Amazon S3. La machine cliente doit avoir un accès réseau au compartiment S3 racine du Workspace, et les règles de proxy et de pare-feu doivent autoriser le trafic HTTPS vers *.s3.amazonaws.com.

Dépannage

Si vous ne pouvez pas résoudre les problèmes de proxy, définissez EnableQueryResultDownload=0 pour désactiver Cloud Fetch et revenir au direct download.

Pour diagnostiquer les problèmes de performance, définissez LogLevel=4 pour activer la journalisation de niveau INFO. La vitesse de download des logs du Driver par fragment, ainsi les grands jeux de résultats génèrent plusieurs lignes de log :

CloudFetch download speed: 21.24 MB/s
CloudFetch download speed: 20.60 MB/s

Le driver logs un avertissement lorsque la vitesse de download tombe en dessous d'environ 1 Mo/s. Le composant de logs est com.databricks.client.spark.jdbc.ResultFileDownloadHandler. Si les downloads sont lents ou bloqués, augmentez CloudFetchThreadPoolSize pour download plus de blocs de fichiers en parallèle.

Configuration SSL

Si vous vous connectez à un Workspace Databricks avec SSL activé, configurez le connecteur pour qu'il se connecte à un socket compatible SSL. Le connecteur utilise une authentification unidirectionnelle pour vérifier l'identité du serveur.

L'authentification unidirectionnelle nécessite un certificat SSL signé et approuvé. Configurez le connecteur pour accéder à un TrustStore spécifique. Si vous ne spécifiez pas de TrustStore, le connecteur utilise le TrustStore Java default (jssecacerts), ou cacerts si jssecacerts n'est pas disponible.

Pour configurer SSL :

  1. Définir SSL=1.
  2. Si vous n'utilisez pas de TrustStore Java par default, configurez-en un personnalisé :
    • Veuillez créer un TrustStore contenant votre certificat de serveur signé et de confiance.
    • Définissez SSLTrustStore sur le chemin complet du TrustStore.
    • Définissez SSLTrustStorePwd sur le mot de passe TrustStore.
    • Si le TrustStore n'est pas un TrustStore JKS, définissez SSLTrustStoreType sur BCFKS (Keystore BouncyCastle FIPS) ou PKCS12.

Pour modifier la stratégie de révocation des certificats, définissez les propriétés suivantes :

  • CheckCertRevocation: Défini sur 0 pour accepter les certificats révoqués. The default est 1.
  • AcceptUndeterminedRevocation: définissez sur 1 pour accepter les certificats avec un état de révocation indéterminé (par exemple, lorsque le CRLDP est inaccessible ou expire). The default est 0.

Authentifier le driver

Pour plus d'informations sur la configuration de l'authentification pour le driver JDBC, consultez Paramètres d'authentification pour le driver JDBC Databricks.