Propriétés de connexion prises en charge
Cet article décrit les propriétés de connexion prises en charge par le Driver JDBC Databricks, version 3 et supérieure.
Propriétés d'authentification
Les propriétés d'authentification suivantes sont prises en charge par le Driver JDBC Databricks. Pour plus de détails sur la configuration de chaque méthode d'authentification, consultez Paramètres d'authentification pour le Driver JDBC Databricks. Les propriétés ne sont pas sensibles à la casse.
Propriété | Valeur par défaut | Description |
|---|---|---|
| Obligatoire | Le mécanisme d'authentification, où |
|
| Un jeton OAuth Databricks ou un jeton web JSON (JWT) provenant d'un fournisseur d'identité externe. Obligatoire lorsque |
|
| Le flux d’authentification OAuth2 pour la connexion au Driver. Cette propriété est requise si |
|
| L'algorithme pour l'authentification JWT par clé privée. Les algorithmes pris en charge sont : RSA : RS256, RS384, RS512, PS256, PS384, PS512 et EC : ES256, ES384, ES512 |
|
| Le chemin d'accès au fichier de clé privée (format PEM) pour l'authentification JWT. |
|
| La phrase secrète pour déchiffrer une clé privée chiffrée. |
|
| L'identifiant de clé (KID) requis pour l'authentification JWT. Ceci est obligatoire lors de l'utilisation d'une clé privée JWT. |
|
| Le jeton OAuth2 refresh utilisé pour récupérer un nouveau jeton d'accès. |
|
| Le périmètre d'authentification pour les flux OAuth2. |
|
| L'ID de ressource Azure de votre Workspace Databricks. Obligatoire lorsque |
|
| L'ID de tenant Azure pour l'authentification spécifique à Azure. Requis lors de l'utilisation d'un service principal géré par Azure avec |
|
| Si défini sur |
|
| Si défini sur |
|
| Le chemin d'accès au fichier de clés JSON pour l'authentification du compte de service Google. |
|
| Active l'authentification à l'aide d'un compte de service Google. |
|
| L'ID client OAuth2 pour l'authentification. Requis lorsque |
|
| L'URL de l'endpoint d'autorisation utilisée dans un flux OAuth2. |
|
| L'URL de l'endpoint du jeton pour le flux OAuth2. |
|
| Le port de l'URL de redirection OAuth2 pour les flux d'authentification basés sur un navigateur. |
|
| L'URL de découverte OpenID Connect pour récupérer la configuration OIDC. |
|
| La valeur secrète OAuth du Service Principal. Requis lorsque |
|
| La phrase secrète à utiliser pour le chiffrement du cache de jetons OAuth U2M. Requis lorsque |
|
| Le nom d'utilisateur pour l'authentification. Requis lorsque |
|
| Le mot de passe pour l'authentification. Requis lorsque |
|
| Active l'authentification JWT par clé privée pour les cas d'utilisation M2M où l'authentification par secret client est restreinte. |
Propriétés de connexion et de proxy
Les propriétés de connexion et de proxy suivantes sont prises en charge par le Driver JDBC Databricks. Les propriétés ne sont pas sensibles à la casse.
Propriété | Valeur par défaut | Description |
|---|---|---|
|
| Le temps en millisecondes entre chaque interrogation de l'état d'exécution de la query asynchrone. Asynchrone fait référence au fait que l'appel RPC utilisé pour exécuter une query sur Spark est asynchrone. Cela ne signifie pas que les opérations asynchrones JDBC sont prises en charge. |
|
| Si défini sur |
|
| Une chaîne qui représente le nom de l'hôte proxy à utiliser lorsque |
|
| Un entier qui représente le numéro du port proxy à utiliser lorsque |
|
| Une chaîne qui représente le mot de passe à utiliser pour l'authentification proxy lorsque |
|
| Une chaîne représentant le nom d'utilisateur à utiliser pour l'authentification proxy lorsque |
|
| Le nom du catalogue default à utiliser. |
|
| Le nom du schéma default à utiliser. Cela peut être spécifié soit en remplaçant |
|
| Si défini sur |
|
| Une chaîne qui représente le nom de l'hôte proxy à utiliser lorsque |
|
| Un entier qui représente le numéro du port proxy à utiliser lorsque |
|
| Une liste d'hôtes ou de domaines séparés par des virgules qui contournent le proxy lorsque |
|
| Une chaîne qui représente le mot de passe à utiliser pour l'authentification proxy lorsque |
|
| Une chaîne représentant le nom d'utilisateur à utiliser pour l'authentification proxy lorsque |
|
| Si défini sur |
|
| S'il est défini sur |
|
| Si la valeur est |
Propriétés de configuration du magasin de confiance SSL
Les propriétés de configuration de magasin de confiance SSL suivantes sont prises en charge par le Driver JDBC Databricks. Les propriétés ne sont pas sensibles à la casse.
Propriété | Valeur par défaut | Description |
|---|---|---|
|
| Si défini à |
|
| S'il est défini sur |
|
| Détermine si le Driver vérifie la révocation des certificats SSL. Définissez sur |
|
| Si le connecteur communique avec le serveur Spark via une socket compatible SSL. |
|
| Le chemin d'accès au fichier de magasin de clés SSL pour l'authentification par certificat client. By default, seule l'authentification TLS côté serveur est effectuée, de sorte qu'un certificat client n'est pas requis. |
|
| Le mot de passe du fichier de magasin de clés SSL. |
|
| Le type du magasin de clés SSL. Les valeurs valides sont |
|
| Le chemin d'accès au fichier de magasin de confiance pour la validation des certificats SSL. |
|
| Le mot de passe du fichier de magasin de confiance, s'il est protégé par un mot de passe. |
|
| Le type du magasin de confiance, par exemple, JKS ou PKCS12. Si non spécifié, le Driver default à un magasin de confiance JKS. Les types valides sont |
|
| S'il est défini sur |
Types de magasins de confiance
Le Driver JDBC prend en charge les modes SSL et les types de magasins de confiance suivants.
Mode de certificat auto-signé
Pour utiliser le mode de certificat auto-signé, définissez la propriété de connexion AllowSelfSignedCerts=1. Ce mode utilise une fabrique de sockets de confiance universelle qui accepte n'importe quel certificat.
Magasin de confiance personnalisé
Pour utiliser un magasin de confiance personnalisé, spécifiez un fichier de magasin de confiance personnalisé dans la propriété de connexion SSLTrustStore. Ce magasin de confiance est chargé directement à partir du chemin spécifié et utilise les certificats pour la validation des certificats SSL. Il peut être au format JKS, PKCS12 ou d'autres formats pris en charge.
Vous devez spécifier les propriétés de connexion supplémentaires suivantes :
SSLTrustStore: Chemin d'accès au fichier de la banque de confianceSSLTrustStorePassword: Mot de passe du magasin de confiance (si nécessaire)SSLTrustStoreType: Type de magasin de confiance (facultatif, default s'il n'est pas spécifié)
Magasin de confiance des propriétés système Java
Pour utiliser le magasin de confiance de la propriété système, définissez UseSystemTrustStore=1 et assurez-vous de ne pas spécifier de magasin de confiance personnalisé. Au lieu de cela, spécifiez un magasin de confiance à l'aide de la propriété système Java javax.net.ssl.trustStore. Cette propriété est définie au niveau de la JVM à l'aide de l'indicateur -D, par exemple :
java -Djavax.net.ssl.trustStore=/path/to/truststore.jks -Djavax.net.ssl.trustStorePassword=changeit ...
Le pilote JDBC vérifie d'abord la propriété système Java javax.net.ssl.trustStore. S’il est défini, il utilise ce fichier de magasin de clés de confiance au lieu de celui default du JDK. Si aucune propriété système n’est définie, le magasin de clés de confiance par default (cacerts) du JDK est utilisé. Il se trouve à l’emplacement $JAVA_HOME/lib/security/cacerts ou un chemin similaire.
JDK default trust store (cacerts)
Le JDK est livré avec un magasin de confiance intégré appelé cacerts , qui contient des certificats d'autorités de certification bien connues, ce qui permet la vérification des certificats émis par ces autorités. Ce magasin de confiance est généralement situé à $JAVA_HOME/lib/security/cacerts avec un mot de passe default « changeit » ou « changeme ».
Pour utiliser le trust store default du JDK, définissez UseSystemTrustStore=1 et assurez-vous que vous ne spécifiez pas de trust store personnalisé ou de trust store de propriété système Java. Si un trust store est également spécifié à l'aide de la propriété système Java javax.net.ssl.trustStore, il est ignoré, ce qui garantit que le Driver utilise uniquement les certificats du trust store default du JDK.
Ordre de précédence du magasin de confiance
Le Driver utilise l’ordre de précédence suivant pour déterminer le magasin de confiance à utiliser :
- Le magasin de confiance personnalisé spécifié dans la propriété de connexion
SSLTrustStore - Le magasin de confiance spécifié dans la propriété système Java
javax.net.ssl.trustStore(lorsqueUseSystemTrustStore=1) - Le magasin de confiance par default du JDK (cacerts)
Recommandations de sécurité
Pour sécuriser votre connexion, Databricks recommande ce qui suit :
-
Pour les environnements de production :
- N’utilisez pas le mode de certificat auto-signé (
AllowSelfSignedCerts=1). - Utilisez des certificats officiels signés par une AC.
- Utilisez
UseSystemTrustStore=1, sauf si vous avez besoin d'un magasin de confiance personnalisé.
- N’utilisez pas le mode de certificat auto-signé (
-
Pour les magasins de confiance personnalisés :
- À utiliser lors de la connexion à des serveurs avec des certificats ne se trouvant pas dans le magasin de confiance default.
- Assurez-vous que le magasin de confiance contient la chaîne de certificats complète.
- Protégez les fichiers du magasin de confiance avec les autorisations appropriées.
Propriétés de la stratégie de nouvelle tentative
Les propriétés de stratégie de nouvelle tentative suivantes sont prises en charge par le Driver JDBC Databricks (OSS). Les propriétés ne sont pas sensibles à la casse.
Propriété | Valeur par défaut | Description |
|---|---|---|
|
| Si défini sur |
|
| Délai d'expiration de la relance de la limite de taux en secondes. |
|
| Si défini sur |
|
| Le délai d'expiration de la nouvelle tentative pour les erreurs temporairement indisponibles, en secondes. |
|
| La liste séparée par des virgules des codes HTTP pour lesquels une nouvelle tentative est possible pour l'ingestion de volume Unity Catalog. |
|
| Le délai d'expiration de la nouvelle tentative pour les requêtes HTTP d'ingestion de volume Unity Catalog, en minutes. |
Propriétés de gestion des performances et des connexions
Les propriétés suivantes de performance et de gestion des connexions sont prises en charge par le Databricks JDBC Driver (OSS). Les propriétés ne sont pas sensibles à la casse.
Propriété | Valeur par défaut | Description |
|---|---|---|
|
| La taille du pool de threads pour les opérations de récupération cloud. |
|
| Le nombre maximum de caractères qui peuvent être contenus dans les colonnes STRING pour les rapports de métadonnées. |
|
| Taille maximale du pool de connexions HTTP. |
|
| Le temps d'expiration de la connexion HTTP inactive, en secondes. |
|
| Le nombre maximal de lignes qu'une query renvoie à la fois. Cela s'applique uniquement aux résultats en ligne. |
|
| Le délai d'expiration de la socket pour les opérations réseau, en secondes. |
Propriétés de configuration SQL
Les propriétés de configuration SQL suivantes sont prises en charge par le Databricks JDBC Driver. Celles-ci sont également décrites dans Paramètres de configuration. Les propriétés ne sont pas sensibles à la casse.
Propriété | Valeur par défaut | Description |
|---|---|---|
|
| Faut-il activer le comportement ANSI SQL strict pour certaines fonctions et règles de transtypage. |
|
| S'il faut activer le moteur de query vectorisé Photon. |
|
| Les méthodes utilisées pour analyser et formater les dates et les Timestamp. Les valeurs possibles sont |
|
| Le nombre maximal d'octets à regrouper dans une seule partition lors de la lecture à partir de sources basées sur des fichiers. Le paramètre peut être n'importe quel entier positif et inclure éventuellement une mesure telle que |
|
| Une liste de tags clé-valeur séparés par des virgules à joindre aux query SQL pour le suivi et l’analytique dans |
|
| Contrôle si un métastore externe est traité comme en lecture seule. |
|
| Définit un délai d'expiration pour les requêtes SQL entre 0 et 172 800 secondes. |
|
| Définissez le fuseau horaire local. ID de région sous la forme |
|
| Indique si Databricks SQL met en cache et réutilise les résultats lorsque c'est possible. |
Propriétés de journalisation
Les propriétés de journalisation suivantes sont prises en charge par le Driver JDBC Databricks. Les propriétés ne sont pas sensibles à la casse.
Propriété | Valeur par défaut | Description |
|---|---|---|
|
| Le nombre maximum de fichiers Logs autorisés |
|
| La taille maximale de fichier Logs autorisée, spécifiée en Mo |
|
| Le niveau de journalisation, qui est une valeur de 0 à 6 :
Utilisez cette propriété pour activer ou désactiver les Logs dans le connecteur et pour spécifier le niveau de détail inclus dans les fichiers Logs. |
| Pour déterminer le chemin par default des Logs, le Driver utilise la valeur définie pour ces propriétés système, dans cet ordre de priorité :
| Le chemin complet vers le dossier où le connecteur enregistre les fichiers de Logs lorsque la journalisation est activée, sous forme de chaîne. Pour vous assurer que l'URL de connexion est compatible avec toutes les applications JDBC, échappez les barres obliques inverses ( Si la valeur |
Activer et configurer la journalisation
Le Driver JDBC prend en charge les frameworks Simple Logging Facade for Java (SLF4J) et java.util.logging (JUL). Le Driver utilise le framework de journalisation JUL par default.
Pour activer et configurer la journalisation pour le Driver JDBC :
-
Activez le framework de journalisation que vous souhaitez utiliser :
- Pour la journalisation SLF4J, définissez la propriété système
-Dcom.databricks.jdbc.loggerImpl=SLF4JLOGGERet fournissez l'implémentation de liaison SLF4J (compatible avec la version SLF4J 2.0.13 et supérieure) et le fichier de configuration correspondant dans le classpath. - Pour la journalisation JUL, définissez la propriété système
-Dcom.databricks.jdbc.loggerImpl=JDKLOGGER. Ceci est le default.
- Pour la journalisation SLF4J, définissez la propriété système
-
Définissez la propriété
LogLevelde la chaîne de connexion au niveau d'informations souhaité à inclure dans les Logs files. -
Définissez la propriété
LogPathsur la chaîne de connexion sur le chemin complet du dossier où vous voulez enregistrer les fichiers log.Par exemple, l'URL de connexion suivante active le niveau de journalisation 6 et enregistre les fichiers Log dans le C dossier :
jdbc: databricks://localhost:11000;LogLevel=6;LogPath=C:\\temp -
Redémarrez votre application JDBC et reconnectez-vous au serveur pour appliquer les paramètres.
Autres propriétés de fonctionnalités
Les propriétés suivantes activent des fonctionnalités dans le Driver JDBC Databricks. Les propriétés ne sont pas sensibles à la casse.
Propriété | Valeur par défaut | Description |
|---|---|---|
|
| Active la sérialisation Apache Arrow pour les transferts d’ensembles de résultats. Cloud Fetch repose sur Arrow, donc la désactivation d’Arrow désactive également Cloud Fetch. Définir sur La version 3.3.1 et les versions supérieures prennent en charge Arrow avec JDK 16 et les versions supérieures. La version 3.2.1 et les versions antérieures avec JDK 16 et les versions supérieures pourraient entraîner des erreurs d'exécution. Pour contourner ce problème, redémarrez votre application ou Driver avec l'option JVM |
|
| Si défini sur |
|
| S'il est défini sur |
|
| Si défini sur |
|
| Permet la prise en charge du scripting SQL pour les blocs d'instructions composées (BEGIN...END) et les appels de procédures stockées. Disponible dans la version Driver 1.0.10 et versions ultérieures avec Databricks Runtime 16.3 et versions ultérieures. Les procédures stockées nécessitent Databricks Runtime 17,0 et versions ultérieures, ainsi que la version 3.0.1 et ultérieure du driver. Utilisez |
|
| Si défini sur |
|
| Si la valeur est |
|
| La propriété d'informations client pour activer les opérations de volume sur un stream. Consultez Gérer les fichiers dans des volumes avec le Driver JDBC Databricks. Par default, cette propriété active également l'opération REMOVE sur un volume. **Important :** vous devez définir ceci comme une propriété d'informations client. Le fait de le fournir uniquement dans l'URL de connexion n'active pas les opérations de volume pour un Stream. |
|
| La taille maximale de batch pour les opérations de batch et le traitement des données. |
| 1 | Les valeurs valides sont 0 (pour aucune compression) et 1 (pour la compression LZ4). Le Driver remplace automatiquement par 0 (pas de compression) pour les résultats en ligne, quelle que soit la configuration. |
|
| L'entrée User-Agent à inclure dans la requête HTTP. Cette valeur est dans le format suivant : |
|
| Savoir si le pilote JDBC doit utiliser le client Thrift ou les APIs d'exécution d'instructions. |
| `` | La liste de chemins locaux autorisés, séparés par des virgules, pour le download et l'upload des fichiers d'ingestion de volume Unity Catalog. Les chemins incluent également des sous-répertoires. Si elle n'est pas spécifiée, cette valeur revient à la valeur de **Important :** Si la configuration se trouve dans un environnement multi-tenant (comme les outils de BI ou les services de développeur) et que les utilisateurs contrôlent l'URL JDBC complète, le service doit définir cette propriété sur un emplacement sandbox ou un chemin d'accès inexistant. Cela empêche les utilisateurs d'écrire des fichiers arbitraires et d'interférer avec le déploiement interne du service. |
Collecte de la télémétrie
La télémétrie permet à Databricks de simplifier le debugging et d'assurer un dépannage rapide en collectant :
- Détails de l'environnement client (version du Driver, runtime, détails du SE)
- Configurations de connexion JDBC (exclut toute donnée PII)
- Mesures de latence des opérations
- Format du résultat d’exécution (JSON intégré, Arrow, etc.)
- Types d'Opérations (query d'exécution, query de métadonnées, Opérations de volume)
- Données de classification des erreurs
- Nombre de tentatives
Databricks maintient des normes de confidentialité strictes, garantissant l'absence de collecte du contenu des requêtes, des résultats ou des informations personnelles identifiables (PII).