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.
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 :
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);
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.
Les éléments et propriétés d'URL ne sont pas sensibles à la casse.
Élément ou propriété de l'URL | Description |
|---|---|
| La valeur du Hostname du serveur de la Ressource de compute Databricks. |
| La valeur de port de la ressource de compute Databricks. La valeur par default est |
| Le nom du schéma. Vous pouvez également définir la propriété |
| La valeur du chemin HTTP de la ressource de compute Databricks. Le connecteur forme l'adresse HTTP à laquelle se connecter en ajoutant la valeur |
Pour obtenir l'URL de connexion JDBC pour un cluster Databricks :
- Connectez-vous à votre workspace Databricks.
- Dans la barre latérale, cliquez sur Compute , puis cliquez sur le nom du cluster cible.
- Dans l'onglet **Configuration**, développez les **Options avancées**.
- Cliquez sur la tab JDBC/ODBC .
- 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 :
- Connectez-vous à votre workspace Databricks.
- Dans la barre latérale, cliquez sur SQL Warehouses , puis cliquez sur le nom du warehouse cible.
- Cliquez sur l'onglet Connection details tab.
- 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
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 :
- Définir
UseProxy=1. - Définissez
ProxyHost,ProxyPortetProxyIgnoreList. - Pour vous authentifier auprès du serveur proxy, choisissez une méthode :
- De base : définissez
ProxyAuth=1,ProxyUIDetProxyPWD. - SPNEGO (environnements Kerberos) : Authentifiez votre principal Kerberos au niveau du système, puis définissez
ProxyAuth=2.
- De base : définissez
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 :
- Définir
SSL=1. - 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
SSLTrustStoresur le chemin complet du TrustStore. - Définissez
SSLTrustStorePwdsur le mot de passe TrustStore. - Si le TrustStore n'est pas un TrustStore JKS, définissez
SSLTrustStoreTypesurBCFKS(Keystore BouncyCastle FIPS) ouPKCS12.
Pour modifier la stratégie de révocation des certificats, définissez les propriétés suivantes :
CheckCertRevocation: Défini sur0pour accepter les certificats révoqués. The default est1.AcceptUndeterminedRevocation: définissez sur1pour accepter les certificats avec un état de révocation indéterminé (par exemple, lorsque le CRLDP est inaccessible ou expire). The default est0.
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.