Aller au contenu principal

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

AuthMech

Obligatoire

Le mécanisme d'authentification, où 3 spécifie que le mécanisme est un jeton d'accès personnel Databricks, et 11 spécifie que le mécanisme est un jeton OAuth 2.0. Des propriétés supplémentaires sont requises pour chaque mécanisme. Voir les paramètres d'authentification pour le Driver JDBC Databricks.

Auth_AccessToken

null

Un jeton OAuth Databricks ou un jeton web JSON (JWT) provenant d'un fournisseur d'identité externe. Obligatoire lorsque Auth_Flow est 0 (transmission du jeton). Si vous transmettez un jeton IdP externe, Databricks l'échange contre un jeton Databricks à l'aide de la fédération de jetons.

Auth_Flow

0

Le flux d’authentification OAuth2 pour la connexion au Driver. Cette propriété est requise si AuthMech est 11. Les valeurs valides sont 0 (transmission de jeton), 1 (informations d’identification client M2M), 2 (basé sur un navigateur U2M) et 3 (identité gérée Azure).

Auth_JWT_Alg

RS256

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

Auth_JWT_Key_File

null

Le chemin d'accès au fichier de clé privée (format PEM) pour l'authentification JWT.

Auth_JWT_Key_Passphrase

null

La phrase secrète pour déchiffrer une clé privée chiffrée.

Auth_KID

null

L'identifiant de clé (KID) requis pour l'authentification JWT. Ceci est obligatoire lors de l'utilisation d'une clé privée JWT.

Auth_RefreshToken

null

Le jeton OAuth2 refresh utilisé pour récupérer un nouveau jeton d'accès.

Auth_Scope

all-apis

Le périmètre d'authentification pour les flux OAuth2.

Azure_workspace_resource_id

null

L'ID de ressource Azure de votre Workspace Databricks. Obligatoire lorsque Auth_Flow est 3 (identité gérée par Azure).

AzureTenantId

null

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 Auth_Flow défini sur 1.

EnableOIDCDiscovery

1

Si défini sur 1, l'URL de découverte OpenID Connect est utilisée.

EnableTokenCache

1

Si défini sur 1, active la mise en cache des jetons OAuth pour améliorer les performances. Définissez sur 0 pour désactiver la mise en cache des jetons pour l'authentification U2M (Auth_Flow=2).

GoogleCredentialsFile

null

Le chemin d'accès au fichier de clés JSON pour l'authentification du compte de service Google.

GoogleServiceAccount

null

Active l'authentification à l'aide d'un compte de service Google.

OAuth2ClientId

null

L'ID client OAuth2 pour l'authentification. Requis lorsque Auth_Flow est 1 (M2M). Définissez cette valeur sur l'**UUID** ou l'**ID d'application** du service principal. Pour Auth_Flow 3 (identité gérée Azure), définissez cette valeur sur l'**ID client** de l'identité gérée (obligatoire uniquement pour les identités gérées attribuées par l'utilisateur). Pour U2M (Auth_Flow=2), databricks-sql-jdbc est utilisé par default.

OAuth2ConnAuthAuthorizeEndpoint

null

L'URL de l'endpoint d'autorisation utilisée dans un flux OAuth2.

OAuth2ConnAuthTokenEndpoint

null

L'URL de l'endpoint du jeton pour le flux OAuth2.

OAuth2RedirectUrlPort

8020

Le port de l'URL de redirection OAuth2 pour les flux d'authentification basés sur un navigateur.

OIDCDiscoveryEndpoint

null

L'URL de découverte OpenID Connect pour récupérer la configuration OIDC.

OAuth2Secret

null

La valeur secrète OAuth du Service Principal. Requis lorsque Auth_Flow est 1 (informations d'identification client M2M).

TokenCachePassPhrase

null

La phrase secrète à utiliser pour le chiffrement du cache de jetons OAuth U2M. Requis lorsque Auth_Flow est 2 (U2M). Cela évite les authentifications répétées basées sur le navigateur en mettant en cache les identifiants.

UID

null

Le nom d'utilisateur pour l'authentification. Requis lorsque AuthMech est 3 (jeton d'accès personnel). Définissez ceci sur la chaîne littérale token.

PWD OU password

null

Le mot de passe pour l'authentification. Requis lorsque AuthMech est 3 (jeton d'accès personnel). Définissez ceci sur la valeur de votre jeton d'accès personnel Databricks.

UseJWTAssertion

false

Active l'authentification JWT par clé privée pour les cas d'utilisation M2M où l'authentification par secret client est restreinte.

Propriété

Valeur par défaut

Description

AuthMech

Obligatoire

Le mécanisme d'authentification, où 3 spécifie que le mécanisme est un jeton d'accès personnel Databricks, et 11 spécifie que le mécanisme est un jeton OAuth 2.0. Des propriétés supplémentaires sont requises pour chaque mécanisme. Voir les paramètres d'authentification pour le Driver JDBC Databricks.

Auth_AccessToken

null

Un jeton OAuth Databricks ou un jeton web JSON (JWT) provenant d'un fournisseur d'identité externe. Obligatoire lorsque Auth_Flow est 0 (transmission du jeton). Si vous transmettez un jeton IdP externe, Databricks l'échange contre un jeton Databricks à l'aide de la fédération de jetons.

Auth_Flow

0

Le flux d’authentification OAuth2 pour la connexion au Driver. Cette propriété est requise si AuthMech est 11. Les valeurs valides sont 0 (transmission de jeton), 1 (informations d’identification client M2M), 2 (basé sur un navigateur U2M) et 3 (identité gérée Azure).

Auth_JWT_Alg

RS256

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

Auth_JWT_Key_File

null

Le chemin d'accès au fichier de clé privée (format PEM) pour l'authentification JWT.

Auth_JWT_Key_Passphrase

null

La phrase secrète pour déchiffrer une clé privée chiffrée.

Auth_KID

null

L'identifiant de clé (KID) requis pour l'authentification JWT. Ceci est obligatoire lors de l'utilisation d'une clé privée JWT.

Auth_RefreshToken

null

Le jeton OAuth2 refresh utilisé pour récupérer un nouveau jeton d'accès.

Auth_Scope

all-apis

Le périmètre d'authentification pour les flux OAuth2.

Azure_workspace_resource_id

null

L'ID de ressource Azure de votre Workspace Databricks. Obligatoire lorsque Auth_Flow est 3 (identité gérée par Azure).

AzureTenantId

null

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 Auth_Flow défini sur 1.

EnableOIDCDiscovery

1

Si défini sur 1, l'URL de découverte OpenID Connect est utilisée.

EnableTokenCache

1

Si défini sur 1, active la mise en cache des jetons OAuth pour améliorer les performances. Définissez sur 0 pour désactiver la mise en cache des jetons pour l'authentification U2M (Auth_Flow=2).

GoogleCredentialsFile

null

Le chemin d'accès au fichier de clés JSON pour l'authentification du compte de service Google.

GoogleServiceAccount

null

Active l'authentification à l'aide d'un compte de service Google.

OAuth2ClientId

null

L'ID client OAuth2 pour l'authentification. Requis lorsque Auth_Flow est 1 (M2M). Définissez cette valeur sur l'**UUID** ou l'**ID d'application** du service principal. Pour Auth_Flow 3 (identité gérée Azure), définissez cette valeur sur l'**ID client** de l'identité gérée (obligatoire uniquement pour les identités gérées attribuées par l'utilisateur). Pour U2M (Auth_Flow=2), databricks-sql-jdbc est utilisé par default.

OAuth2ConnAuthAuthorizeEndpoint

null

L'URL de l'endpoint d'autorisation utilisée dans un flux OAuth2.

OAuth2ConnAuthTokenEndpoint

null

L'URL de l'endpoint du jeton pour le flux OAuth2.

OAuth2RedirectUrlPort

8020

Le port de l'URL de redirection OAuth2 pour les flux d'authentification basés sur un navigateur.

OIDCDiscoveryEndpoint

null

L'URL de découverte OpenID Connect pour récupérer la configuration OIDC.

OAuth2Secret

null

La valeur secrète OAuth du Service Principal. Requis lorsque Auth_Flow est 1 (informations d'identification client M2M).

TokenCachePassPhrase

null

La phrase secrète à utiliser pour le chiffrement du cache de jetons OAuth U2M. Requis lorsque Auth_Flow est 2 (U2M). Cela évite les authentifications répétées basées sur le navigateur en mettant en cache les identifiants.

UID

null

Le nom d'utilisateur pour l'authentification. Requis lorsque AuthMech est 3 (jeton d'accès personnel). Définissez ceci sur la chaîne littérale token.

PWD OU password

null

Le mot de passe pour l'authentification. Requis lorsque AuthMech est 3 (jeton d'accès personnel). Définissez ceci sur la valeur de votre jeton d'accès personnel Databricks.

UseJWTAssertion

false

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

AsyncExecPollInterval

200

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.

CFProxyAuth

0

Si défini sur 1, le Driver utilise l'utilisateur et le mot de passe d'authentification proxy, représentés par CFProxyUID et CFProxyPwd.

CFProxyHost

null

Une chaîne qui représente le nom de l'hôte proxy à utiliser lorsque UseCFProxy est également défini sur 1.

CFProxyPort

null

Un entier qui représente le numéro du port proxy à utiliser lorsque UseCFProxy est également défini sur 1.

CFProxyPwd

null

Une chaîne qui représente le mot de passe à utiliser pour l'authentification proxy lorsque CFProxyAuth et UseCFProxy sont également définis sur 1.

CFProxyUID

null

Une chaîne représentant le nom d'utilisateur à utiliser pour l'authentification proxy lorsque CFProxyAuth et UseCFProxy sont également définis sur 1.

ConnCatalog OU catalog

SPARK

Le nom du catalogue default à utiliser.

ConnSchema OU schema

default

Le nom du schéma default à utiliser. Cela peut être spécifié soit en remplaçant <schema> dans l'URL par le nom du schéma à utiliser, soit en définissant la propriété ConnSchema sur le nom du schéma à utiliser.

ProxyAuth

0

Si défini sur 1, le Driver utilise l'utilisateur et le mot de passe d'authentification proxy, représentés par ProxyUID et ProxyPwd.

ProxyHost

null

Une chaîne qui représente le nom de l'hôte proxy à utiliser lorsque UseProxy est également défini sur 1.

ProxyPort

null

Un entier qui représente le numéro du port proxy à utiliser lorsque UseProxy est également défini sur 1.

ProxyIgnoreList

"" (chaîne vide)

Une liste d'hôtes ou de domaines séparés par des virgules qui contournent le proxy lorsque UseProxy est défini sur 1. Par exemple : localhost,127.0.0.1.

ProxyPwd

null

Une chaîne qui représente le mot de passe à utiliser pour l'authentification proxy lorsque ProxyAuth et UseProxy sont également définis sur 1.

ProxyUID

null

Une chaîne représentant le nom d'utilisateur à utiliser pour l'authentification proxy lorsque ProxyAuth et UseProxy sont également définis sur 1.

UseCFProxy

0

Si défini sur 1, le driver utilise les paramètres de proxy de récupération du cloud s'ils sont fournis, sinon il utilise le proxy standard.

UseProxy

0

S'il est défini sur 1, le Driver utilise les paramètres de proxy fournis (par exemple : ProxyAuth, ProxyHost, ProxyPort, ProxyPwd et ProxyUID).

UseSystemProxy

0

Si la valeur est 1, le Driver utilise les paramètres de proxy qui ont été définis au niveau du système. Si des propriétés de proxy supplémentaires sont définies dans l'URL de connexion, ces propriétés de proxy supplémentaires remplacent celles qui ont été définies au niveau du système.

Propriété

Valeur par défaut

Description

AsyncExecPollInterval

200

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.

CFProxyAuth

0

Si défini sur 1, le Driver utilise l'utilisateur et le mot de passe d'authentification proxy, représentés par CFProxyUID et CFProxyPwd.

CFProxyHost

null

Une chaîne qui représente le nom de l'hôte proxy à utiliser lorsque UseCFProxy est également défini sur 1.

CFProxyPort

null

Un entier qui représente le numéro du port proxy à utiliser lorsque UseCFProxy est également défini sur 1.

CFProxyPwd

null

Une chaîne qui représente le mot de passe à utiliser pour l'authentification proxy lorsque CFProxyAuth et UseCFProxy sont également définis sur 1.

CFProxyUID

null

Une chaîne représentant le nom d'utilisateur à utiliser pour l'authentification proxy lorsque CFProxyAuth et UseCFProxy sont également définis sur 1.

ConnCatalog OU catalog

SPARK

Le nom du catalogue default à utiliser.

ConnSchema OU schema

default

Le nom du schéma default à utiliser. Cela peut être spécifié soit en remplaçant <schema> dans l'URL par le nom du schéma à utiliser, soit en définissant la propriété ConnSchema sur le nom du schéma à utiliser.

ProxyAuth

0

Si défini sur 1, le Driver utilise l'utilisateur et le mot de passe d'authentification proxy, représentés par ProxyUID et ProxyPwd.

ProxyHost

null

Une chaîne qui représente le nom de l'hôte proxy à utiliser lorsque UseProxy est également défini sur 1.

ProxyPort

null

Un entier qui représente le numéro du port proxy à utiliser lorsque UseProxy est également défini sur 1.

ProxyIgnoreList

"" (chaîne vide)

Une liste d'hôtes ou de domaines séparés par des virgules qui contournent le proxy lorsque UseProxy est défini sur 1. Par exemple : localhost,127.0.0.1.

ProxyPwd

null

Une chaîne qui représente le mot de passe à utiliser pour l'authentification proxy lorsque ProxyAuth et UseProxy sont également définis sur 1.

ProxyUID

null

Une chaîne représentant le nom d'utilisateur à utiliser pour l'authentification proxy lorsque ProxyAuth et UseProxy sont également définis sur 1.

UseCFProxy

0

Si défini sur 1, le driver utilise les paramètres de proxy de récupération du cloud s'ils sont fournis, sinon il utilise le proxy standard.

UseProxy

0

S'il est défini sur 1, le Driver utilise les paramètres de proxy fournis (par exemple : ProxyAuth, ProxyHost, ProxyPort, ProxyPwd et ProxyUID).

UseSystemProxy

0

Si la valeur est 1, le Driver utilise les paramètres de proxy qui ont été définis au niveau du système. Si des propriétés de proxy supplémentaires sont définies dans l'URL de connexion, ces propriétés de proxy supplémentaires remplacent celles qui ont été définies au niveau du système.

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

AcceptUndeterminedRevocation

0

Si défini à 1, accepte les certificats avec un statut de révocation indéterminé lorsque la vérification de la révocation des certificats est activée.

AllowSelfSignedCerts

0

S'il est défini sur 1, le Driver autorise les connexions vers des serveurs avec des certificats SSL auto-signés.

CheckCertRevocation

1

Détermine si le Driver vérifie la révocation des certificats SSL. Définissez sur 0 pour accepter les certificats révoqués.

SSL

1

Si le connecteur communique avec le serveur Spark via une socket compatible SSL.

SSLKeyStore

null

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.

SSLKeyStorePwd

null

Le mot de passe du fichier de magasin de clés SSL.

SSLKeyStoreType

JKS

Le type du magasin de clés SSL. Les valeurs valides sont JKS, PKCS12, JCEKS, DKS et PKCS11.

SSLTrustStore

null

Le chemin d'accès au fichier de magasin de confiance pour la validation des certificats SSL.

SSLTrustStorePassword

null

Le mot de passe du fichier de magasin de confiance, s'il est protégé par un mot de passe.

SSLTrustStoreType

JKS

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 JKS, PKCS12 et BCFKS.

UseSystemTrustStore

0

S'il est défini sur 1, le Driver utilise le magasin de confiance par default du système pour la vérification des certificats SSL.

Propriété

Valeur par défaut

Description

AcceptUndeterminedRevocation

0

Si défini à 1, accepte les certificats avec un statut de révocation indéterminé lorsque la vérification de la révocation des certificats est activée.

AllowSelfSignedCerts

0

S'il est défini sur 1, le Driver autorise les connexions vers des serveurs avec des certificats SSL auto-signés.

CheckCertRevocation

1

Détermine si le Driver vérifie la révocation des certificats SSL. Définissez sur 0 pour accepter les certificats révoqués.

SSL

1

Si le connecteur communique avec le serveur Spark via une socket compatible SSL.

SSLKeyStore

null

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.

SSLKeyStorePwd

null

Le mot de passe du fichier de magasin de clés SSL.

SSLKeyStoreType

JKS

Le type du magasin de clés SSL. Les valeurs valides sont JKS, PKCS12, JCEKS, DKS et PKCS11.

SSLTrustStore

null

Le chemin d'accès au fichier de magasin de confiance pour la validation des certificats SSL.

SSLTrustStorePassword

null

Le mot de passe du fichier de magasin de confiance, s'il est protégé par un mot de passe.

SSLTrustStoreType

JKS

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 JKS, PKCS12 et BCFKS.

UseSystemTrustStore

0

S'il est défini sur 1, le Driver utilise le magasin de confiance par default du système pour la vérification des certificats SSL.

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 confiance
  • SSLTrustStorePassword: 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 :

  1. Le magasin de confiance personnalisé spécifié dans la propriété de connexion SSLTrustStore
  2. Le magasin de confiance spécifié dans la propriété système Java javax.net.ssl.trustStore (lorsque UseSystemTrustStore=1)
  3. 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é.
  • 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

RateLimitRetry

1

Si défini sur 1, permet de réessayer en cas d'erreurs de limitation de débit.

RateLimitRetryTimeout

120

Délai d'expiration de la relance de la limite de taux en secondes.

TemporarilyUnavailableRetry

1

Si défini sur 1, active la nouvelle tentative en cas d'erreurs temporairement indisponibles.

TemporarilyUnavailableRetryTimeout

900

Le délai d'expiration de la nouvelle tentative pour les erreurs temporairement indisponibles, en secondes.

VolumeOperationRetryableHttpCode

408,429,500,502,503,504

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.

VolumeOperationRetryTimeout

15

Le délai d'expiration de la nouvelle tentative pour les requêtes HTTP d'ingestion de volume Unity Catalog, en minutes.

Propriété

Valeur par défaut

Description

RateLimitRetry

1

Si défini sur 1, permet de réessayer en cas d'erreurs de limitation de débit.

RateLimitRetryTimeout

120

Délai d'expiration de la relance de la limite de taux en secondes.

TemporarilyUnavailableRetry

1

Si défini sur 1, active la nouvelle tentative en cas d'erreurs temporairement indisponibles.

TemporarilyUnavailableRetryTimeout

900

Le délai d'expiration de la nouvelle tentative pour les erreurs temporairement indisponibles, en secondes.

VolumeOperationRetryableHttpCode

408,429,500,502,503,504

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.

VolumeOperationRetryTimeout

15

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

CloudFetchThreadPoolSize

16

La taille du pool de threads pour les opérations de récupération cloud.

DefaultStringColumnLength

255

Le nombre maximum de caractères qui peuvent être contenus dans les colonnes STRING pour les rapports de métadonnées.

HttpConnectionPoolSize

100

Taille maximale du pool de connexions HTTP.

IdleHttpConnectionExpiry

60

Le temps d'expiration de la connexion HTTP inactive, en secondes.

RowsFetchedPerBlock

2000000

Le nombre maximal de lignes qu'une query renvoie à la fois. Cela s'applique uniquement aux résultats en ligne.

SocketTimeout

900

Le délai d'expiration de la socket pour les opérations réseau, en secondes.

Propriété

Valeur par défaut

Description

CloudFetchThreadPoolSize

16

La taille du pool de threads pour les opérations de récupération cloud.

DefaultStringColumnLength

255

Le nombre maximum de caractères qui peuvent être contenus dans les colonnes STRING pour les rapports de métadonnées.

HttpConnectionPoolSize

100

Taille maximale du pool de connexions HTTP.

IdleHttpConnectionExpiry

60

Le temps d'expiration de la connexion HTTP inactive, en secondes.

RowsFetchedPerBlock

2000000

Le nombre maximal de lignes qu'une query renvoie à la fois. Cela s'applique uniquement aux résultats en ligne.

SocketTimeout

900

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

ansi_mode

TRUE

Faut-il activer le comportement ANSI SQL strict pour certaines fonctions et règles de transtypage.

enable_photon

TRUE

S'il faut activer le moteur de query vectorisé Photon.

legacy_time_parser_policy

EXCEPTION

Les méthodes utilisées pour analyser et formater les dates et les Timestamp. Les valeurs possibles sont EXCEPTION, LEGACY et CORRECTED.

max_file_partition_bytes

128m

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 b (octets), k ou kb (1024 octets).

query_tags

"" (chaîne vide)

Une liste de tags clé-valeur séparés par des virgules à joindre aux query SQL pour le suivi et l’analytique dans system.query.history.

read_only_external_metastore

false

Contrôle si un métastore externe est traité comme en lecture seule.

statement_timeout

172800

Définit un délai d'expiration pour les requêtes SQL entre 0 et 172 800 secondes.

timezone

UTC

Définissez le fuseau horaire local. ID de région sous la forme area/city, tels que America/Los_Angeles ou les décalages de fuseau horaire au format (+|-)HH, (+|-)HH ou (+|-)HH:mm, par exemple -08, +01:00 ou -13:33:33. Également, UTC est pris en charge comme alias pour +00:00

use_cached_result

true

Indique si Databricks SQL met en cache et réutilise les résultats lorsque c'est possible.

Propriété

Valeur par défaut

Description

ansi_mode

TRUE

Faut-il activer le comportement ANSI SQL strict pour certaines fonctions et règles de transtypage.

enable_photon

TRUE

S'il faut activer le moteur de query vectorisé Photon.

legacy_time_parser_policy

EXCEPTION

Les méthodes utilisées pour analyser et formater les dates et les Timestamp. Les valeurs possibles sont EXCEPTION, LEGACY et CORRECTED.

max_file_partition_bytes

128m

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 b (octets), k ou kb (1024 octets).

query_tags

"" (chaîne vide)

Une liste de tags clé-valeur séparés par des virgules à joindre aux query SQL pour le suivi et l’analytique dans system.query.history.

read_only_external_metastore

false

Contrôle si un métastore externe est traité comme en lecture seule.

statement_timeout

172800

Définit un délai d'expiration pour les requêtes SQL entre 0 et 172 800 secondes.

timezone

UTC

Définissez le fuseau horaire local. ID de région sous la forme area/city, tels que America/Los_Angeles ou les décalages de fuseau horaire au format (+|-)HH, (+|-)HH ou (+|-)HH:mm, par exemple -08, +01:00 ou -13:33:33. Également, UTC est pris en charge comme alias pour +00:00

use_cached_result

true

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

LogFileCount

10

Le nombre maximum de fichiers Logs autorisés

LogFileSize

10

La taille maximale de fichier Logs autorisée, spécifiée en Mo

LogLevel

OFF

Le niveau de journalisation, qui est une valeur de 0 à 6 :

  • 0 : Désactiver toute la journalisation.
  • 1 : Activez la journalisation au niveau FATAL, qui Logs des événements d'erreur très graves qui entraîneront l'interruption du connecteur.
  • 2 : Activez Logs au niveau ERROR, qui enregistre les événements d'erreur qui pourraient néanmoins permettre au connecteur de continuer à s'exécuter.
  • 3 : Activez l'enregistrement des Logs au niveau WARNING, qui enregistre les événements pouvant entraîner une erreur si aucune action n'est entreprise.
  • 4 : Activez les Logs au niveau INFO, qui enregistre des informations générales décrivant la progression du connecteur.
  • 5 : Activez la journalisation au niveau DEBUG, qui enregistre des informations détaillées utiles pour le debugging du connecteur.
  • 6 : Activez la journalisation au niveau TRACE, qui enregistre toute l'activité du connecteur.

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.

LogPath

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é :

  1. user.dir
  2. java.io.tmpdir
  3. le répertoire actuel, en d'autres termes .

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 (\) dans votre chemin de fichier en tapant une autre barre oblique inverse.

Si la valeur LogPath n'est pas valide, le connecteur envoie les informations enregistrées au Stream de sortie standard (System.out).

Propriété

Valeur par défaut

Description

LogFileCount

10

Le nombre maximum de fichiers Logs autorisés

LogFileSize

10

La taille maximale de fichier Logs autorisée, spécifiée en Mo

LogLevel

OFF

Le niveau de journalisation, qui est une valeur de 0 à 6 :

  • 0 : Désactiver toute la journalisation.
  • 1 : Activez la journalisation au niveau FATAL, qui Logs des événements d'erreur très graves qui entraîneront l'interruption du connecteur.
  • 2 : Activez Logs au niveau ERROR, qui enregistre les événements d'erreur qui pourraient néanmoins permettre au connecteur de continuer à s'exécuter.
  • 3 : Activez l'enregistrement des Logs au niveau WARNING, qui enregistre les événements pouvant entraîner une erreur si aucune action n'est entreprise.
  • 4 : Activez les Logs au niveau INFO, qui enregistre des informations générales décrivant la progression du connecteur.
  • 5 : Activez la journalisation au niveau DEBUG, qui enregistre des informations détaillées utiles pour le debugging du connecteur.
  • 6 : Activez la journalisation au niveau TRACE, qui enregistre toute l'activité du connecteur.

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.

LogPath

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é :

  1. user.dir
  2. java.io.tmpdir
  3. le répertoire actuel, en d'autres termes .

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 (\) dans votre chemin de fichier en tapant une autre barre oblique inverse.

Si la valeur LogPath n'est pas valide, le connecteur envoie les informations enregistrées au Stream de sortie standard (System.out).

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 :

  1. Activez le framework de journalisation que vous souhaitez utiliser :

    • Pour la journalisation SLF4J, définissez la propriété système -Dcom.databricks.jdbc.loggerImpl=SLF4JLOGGER et 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.
  2. Définissez la propriété LogLevel de la chaîne de connexion au niveau d'informations souhaité à inclure dans les Logs files.

  3. Définissez la propriété LogPath sur 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
  4. 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

EnableArrow

1

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 0 pour désactiver.

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 --add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED. Arrow et Cloud Fetch ne sont pas pris en charge sur IBM AIX.

EnableComplexDatatypeSupport

0

Si défini sur 1, la prise en charge des types de données complexes (tableaux, structures, mappages) en tant qu'objets Java natifs au lieu de chaînes de caractères est activée.

EnableDirectResults

1

S'il est défini sur 1, il active les résultats directs pour des performances de query améliorées.

EnableGeoSpatialSupport

0

Si défini sur 1, active la prise en charge des types de données géospatiales (GEOMETRY et GEOGRAPHY) en tant qu'objets Java structurés. Nécessite EnableComplexDatatypeSupport=1 et EnableArrow=1 (Arrow est activé par default). Si cette option est désactivée, les colonnes géospatiales sont retournées en tant que STRING au format EWKT. Voir les fonctions géospatiales ST.

EnableSqlScripting

1 OU true

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 Statement ou PreparedStatement pour appeler des procédures. CallableStatement n’est pas pris en charge. Pour la syntaxe et des exemples, consultez le scripting SQL.

EnableMetricViewMetadata

0

Si défini sur 1, active les opérations de métadonnées améliorées pour les vues métriques. Consultez Utiliser les métadonnées de la vue métrique à l'aide du Driver JDBC Databricks.

EnableTelemetry

0

Si la valeur est 1, la télémétrie est activée. Voir la télémétrie.

EnableVolumeOperations

1OU true

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.

MaxBatchSize

500

La taille maximale de batch pour les opérations de batch et le traitement des données.

QueryResultCompressionType

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.

UserAgentEntry

browser

L'entrée User-Agent à inclure dans la requête HTTP. Cette valeur est dans le format suivant : [ProductName]/[ProductVersion] [Comment]

UseThriftClient

1

Savoir si le pilote JDBC doit utiliser le client Thrift ou les APIs d'exécution d'instructions.

VolumeOperationAllowedLocalPaths

``

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 StagingAllowedLocalPaths, puis à une chaîne vide qui ne spécifie aucune restriction. Consultez Gérer les fichiers à l'aide de volumes.

**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.

Propriété

Valeur par défaut

Description

EnableArrow

1

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 0 pour désactiver.

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 --add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED. Arrow et Cloud Fetch ne sont pas pris en charge sur IBM AIX.

EnableComplexDatatypeSupport

0

Si défini sur 1, la prise en charge des types de données complexes (tableaux, structures, mappages) en tant qu'objets Java natifs au lieu de chaînes de caractères est activée.

EnableDirectResults

1

S'il est défini sur 1, il active les résultats directs pour des performances de query améliorées.

EnableGeoSpatialSupport

0

Si défini sur 1, active la prise en charge des types de données géospatiales (GEOMETRY et GEOGRAPHY) en tant qu'objets Java structurés. Nécessite EnableComplexDatatypeSupport=1 et EnableArrow=1 (Arrow est activé par default). Si cette option est désactivée, les colonnes géospatiales sont retournées en tant que STRING au format EWKT. Voir les fonctions géospatiales ST.

EnableSqlScripting

1 OU true

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 Statement ou PreparedStatement pour appeler des procédures. CallableStatement n’est pas pris en charge. Pour la syntaxe et des exemples, consultez le scripting SQL.

EnableMetricViewMetadata

0

Si défini sur 1, active les opérations de métadonnées améliorées pour les vues métriques. Consultez Utiliser les métadonnées de la vue métrique à l'aide du Driver JDBC Databricks.

EnableTelemetry

0

Si la valeur est 1, la télémétrie est activée. Voir la télémétrie.

EnableVolumeOperations

1OU true

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.

MaxBatchSize

500

La taille maximale de batch pour les opérations de batch et le traitement des données.

QueryResultCompressionType

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.

UserAgentEntry

browser

L'entrée User-Agent à inclure dans la requête HTTP. Cette valeur est dans le format suivant : [ProductName]/[ProductVersion] [Comment]

UseThriftClient

1

Savoir si le pilote JDBC doit utiliser le client Thrift ou les APIs d'exécution d'instructions.

VolumeOperationAllowedLocalPaths

``

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 StagingAllowedLocalPaths, puis à une chaîne vide qui ne spécifie aucune restriction. Consultez Gérer les fichiers à l'aide de volumes.

**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
remarque

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).