Nota
L'accés a aquesta pàgina requereix autorització. Pots provar d'iniciar sessió o canviar de directori.
L'accés a aquesta pàgina requereix autorització. Pots provar de canviar directoris.
En este artículo se describen las propiedades de conexión compatibles con databricks JDBC Driver, versión 3 y posteriores.
Propiedades de autenticación y proxy
El controlador JDBC de Databricks admite las siguientes propiedades de autenticación y proxy. Las propiedades no distinguen mayúsculas de minúsculas.
| Propiedad | Valor predeterminado | Descripción |
|---|---|---|
AsyncExecPollInterval |
200 |
Tiempo en milisegundos entre cada sondeo para el estado de ejecución de la consulta asincrónica. Asincrónico hace referencia al hecho de que la llamada RPC utilizada para ejecutar una consulta en Spark es asincrónica. No significa que se admiten operaciones asincrónicas de JDBC. |
Auth_Flow |
0 |
Flujo de autenticación de OAuth2 para la conexión del controlador. Esta propiedad es necesaria si AuthMech es 11. |
Auth_JWT_Alg |
RS256 |
Algoritmo para la autenticación JWT de clave privada. Los algoritmos admitidos son: RSA: RS256, RS384, RS512, PS256, PS384, PS512 y EC: ES256, ES384, ES512 |
Auth_JWT_Key_File |
null |
Ruta de acceso al archivo de clave privada (formato PEM) para la autenticación JWT. |
Auth_JWT_Key_Passphrase |
null |
Frase de contraseña para descifrar una clave privada cifrada. |
Auth_KID |
null |
Identificador de clave (KID) necesario para la autenticación JWT. Esto es obligatorio cuando se usa JWT de clave privada. |
Auth_RefreshToken |
null |
Token de actualización de OAuth2 usado para recuperar un nuevo token de acceso. |
Auth_Scope |
all-apis |
Ámbito de autenticación de los flujos de OAuth2. |
AuthMech |
Obligatorio | El mecanismo de autenticación, donde 3 especifica que el mecanismo es un token de acceso personal de Azure Databricks y 11 especifica que el mecanismo es tokens de OAuth 2.0. Se requieren propiedades adicionales para cada mecanismo. Consulte Autenticación del controlador. |
AzureTenantId |
null |
Identificador de inquilino de Azure para la autenticación específica de Azure. |
CFProxyAuth |
0 |
Si se establece en 1, el controlador usa el usuario y la contraseña de autenticación de proxy, representados por CFProxyUID y CFProxyPwd. |
CFProxyHost |
null |
Una cadena que representa el nombre del host proxy que se debe usar cuando UseCFProxy también está configurado en 1. |
CFProxyPort |
null |
Un entero que representa el número del puerto proxy que se va a usar cuando UseCFProxy también esté configurado en 1. |
CFProxyPwd |
null |
Cadena que representa la contraseña que se va a usar para la autenticación de proxy cuando CFProxyAuth y UseCFProxy también se establecen en 1. |
CFProxyUID |
null |
Cadena que representa el nombre de usuario que se va a usar para la autenticación de proxy cuando CFProxyAuth y UseCFProxy también se establecen en 1. |
ConnCatalog o catalog |
SPARK |
Nombre del catálogo predeterminado que se vaya a usar. |
ConnSchema o schema |
default |
Nombre del esquema predeterminado que se vaya a usar. Esto se puede especificar reemplazando <schema> en la dirección URL por el nombre del esquema que se va a usar o estableciendo la propiedad ConnSchema en el nombre del esquema que se va a usar. |
EnableOIDCDiscovery |
1 |
Si se establece en 1, se usa la dirección URL de detección de OpenID Connect. |
EnableTokenCache |
1 |
Si se establece en 1, habilita el almacenamiento en caché de tokens de OAuth para mejorar el rendimiento. |
GoogleCredentialsFile |
null |
Ruta de acceso al archivo de clave JSON para la autenticación de la cuenta de servicio de Google. |
GoogleServiceAccount |
null |
Habilita la autenticación mediante una cuenta de servicio de Google. |
OAuth2ClientId |
null |
Identificador de cliente de OAuth2 para la autenticación. De forma predeterminada, databricks-sql-jdbc se usa para AWS, GCP y Azure. Se requiere un identificador de cliente personalizado para las configuraciones avanzadas de OAuth. |
OAuth2ConnAuthAuthorizeEndpoint |
null |
Dirección URL del punto de conexión de autorización que se usa en un flujo de OAuth2. |
OAuth2ConnAuthTokenEndpoint |
null |
Dirección URL del punto de conexión del token para el flujo de OAuth2. |
OAuth2RedirectUrlPort |
8020 |
Puerto de dirección URL de redireccionamiento de OAuth2 para flujos de autenticación basados en explorador. |
OIDCDiscoveryEndpoint |
null |
La dirección URL de detección de OpenID Connect para recuperar la configuración de OIDC. |
ProxyAuth |
0 |
Si se establece en 1, el controlador usa el usuario y la contraseña de autenticación de proxy, representados por ProxyUID y ProxyPwd. |
ProxyHost |
null |
Una cadena que representa el nombre del host proxy que se debe usar cuando UseProxy también está configurado en 1. |
ProxyPort |
null |
Un entero que representa el número del puerto proxy que se va a usar cuando UseProxy también esté configurado en 1. |
ProxyPwd |
null |
Cadena que representa la contraseña que se va a usar para la autenticación de proxy cuando ProxyAuth y UseProxy también se establecen en 1. |
ProxyUID |
null |
Cadena que representa el nombre de usuario que se va a usar para la autenticación de proxy cuando ProxyAuth y UseProxy también se establecen en 1. |
TokenCachePassPhrase |
null |
Frase de contraseña que se va a usar para el cifrado de caché de tokens U2M de OAuth. |
UseCFProxy |
0 |
Si se establece en 1, el controlador usa la configuración del proxy de captura en la nube si se proporcionan; de lo contrario, usa el proxy normal. |
UseJWTAssertion |
false |
Habilita la autenticación JWT de clave privada para casos de uso de M2M en los que la autenticación secreta de cliente está restringida. |
UseProxy |
0 |
Si se establece en 1, el controlador usa la configuración de proxy proporcionada (por ejemplo: ProxyAuth, ProxyHost, ProxyPort, ProxyPwd, y ProxyUID). |
UseSystemProxy |
0 |
Si se establece en 1, el controlador usa la configuración de proxy que se ha establecido en el nivel del sistema. Si se establecen propiedades de proxy adicionales en la dirección URL de conexión, estas propiedades de proxy adicionales invalidan las que se han establecido en el nivel de sistema. |
Propiedades de configuración del almacén de confianza SSL
Las siguientes propiedades de configuración del almacén de confianza SSL son compatibles con el controlador JDBC de Databricks. Las propiedades no distinguen mayúsculas de minúsculas.
| Propiedad | Valor predeterminado | Descripción |
|---|---|---|
AcceptUndeterminedRevocation |
0 |
Si se establece en 1, acepta certificados con estado de revocación no predeterminado cuando está habilitada la comprobación de revocación de certificados. |
AllowSelfSignedCerts |
0 |
Si se establece en 1, el controlador permite conexiones a servidores con certificados SSL autofirmados. |
CheckCertificateRevocation |
0 |
Si se establece en 1, el controlador comprueba si se ha revocado el certificado SSL. |
SSL |
1 |
Si el conector se comunica con el servidor Spark a través de un socket habilitado para SSL. |
SSLKeyStore |
null |
Ruta de acceso al archivo de almacén de claves SSL para la autenticación de certificados de cliente. De forma predeterminada, la autenticación TLS de solo servidor se realiza para que no se requiera un certificado de cliente. |
SSLKeyStorePwd |
null |
Contraseña del archivo de almacén de claves SSL. |
SSLKeyStoreType |
JKS |
Tipo del almacén de claves SSL. Los valores válidos son JKS, PKCS12, JCEKSDKS y PKCS11. |
SSLTrustStore |
null |
Ruta de acceso al archivo de almacén de confianza para la validación de certificados SSL. |
SSLTrustStorePassword |
null |
Contraseña del archivo de almacén de confianza, si está protegido con contraseña. |
SSLTrustStoreType |
JKS |
Tipo del almacén de confianza, por ejemplo, JKS o PKCS12. Si no se especifica, el controlador usa el almacén de confianza de JKS de forma predeterminada. Los tipos válidos son JKS, PKCS12y BCFKS. |
UseSystemTrustStore |
0 |
Si se establece en 1, el controlador usa el almacén de confianza predeterminado del sistema para la comprobación del certificado SSL. |
Tipos de almacén de confianza
El controlador JDBC admite los siguientes modos SSL y tipos de almacén de confianza.
Modo de certificado autofirmado
Para usar el modo de certificado autofirmado, establezca la propiedad AllowSelfSignedCerts=1 de conexión. Este modo usa un generador de sockets de confianza que acepta cualquier certificado.
Almacén de confianza personalizado
Para usar un almacén de confianza personalizado, especifique un archivo de almacén de confianza personalizado en la SSLTrustStore propiedad de conexión. Este almacén de confianza se carga directamente desde la ruta de acceso especificada y utiliza los certificados para la validación SSL. Puede estar en JKS, PKCS12 u otros formatos admitidos.
Debe especificar las siguientes propiedades de conexión adicionales:
-
SSLTrustStore: ruta de acceso al archivo del repositorio de confianza -
SSLTrustStorePassword: contraseña para el almacén de confianza (si es necesario) -
SSLTrustStoreType: tipo de almacén de confianza (opcional, el valor predeterminado es JKS si no se especifica)
Almacén de confianza de propiedades del sistema Java
Para usar el almacén de confianza de propiedades del sistema, establezca UseSystemTrustStore=1 y asegúrese de que no especifique un almacén de confianza personalizado. En su lugar, especifique un almacén de confianza mediante la propiedad javax.net.ssl.trustStoredel sistema Java . Esta propiedad se establece en el nivel de JVM mediante la -D marca , por ejemplo:
java -Djavax.net.ssl.trustStore=/path/to/truststore.jks -Djavax.net.ssl.trustStorePassword=changeit ...
El controlador JDBC comprueba primero la propiedad javax.net.ssl.trustStoredel sistema Java . Si se establece, usa este archivo de almacén de confianza en lugar del valor predeterminado de JDK. Si no se establece ninguna propiedad del sistema, usa el almacén de confianza predeterminado de JDK (cacerts), que se localiza en $JAVA_HOME/lib/security/cacerts o en una ruta de acceso similar.
Almacén de confianza predeterminado de JDK (cacerts)
El JDK incluye un almacén de confianza integrado denominado cacerts que contiene certificados de entidades de certificación conocidas, lo que permite la comprobación de certificados emitidos por esas CA. Este almacén de confianza se encuentra normalmente en $JAVA_HOME/lib/security/cacerts con una contraseña predeterminada "changeit" o "changeme".
Para usar el almacén de confianza predeterminado de JDK, establezca UseSystemTrustStore=1 y asegúrese de que no especifique un almacén de confianza personalizado o un almacén de confianza de propiedades del sistema Java. Si también se especifica un almacén de confianza mediante la propiedad javax.net.ssl.trustStoredel sistema Java , se omite, lo que garantiza que el controlador solo usa certificados del almacén de confianza de JDK predeterminado.
Orden de prioridad del almacén de confianza
El controlador usa el siguiente orden de prioridad para determinar qué almacén de confianza se va a usar:
- El almacén de confianza personalizado especificado en la propiedad de conexión
SSLTrustStore - Almacén de confianza especificado en la propiedad
javax.net.ssl.trustStoredel sistema Java (cuandoUseSystemTrustStore=1) - El almacén de confianza predeterminado de JDK (cacerts)
Recomendaciones de seguridad
Para mantener la conexión segura, Databricks recomienda lo siguiente:
Para entornos de producción:
- No use el modo de certificado autofirmado (
AllowSelfSignedCerts=1). - Utilice certificados oficiales firmados por una CA.
- Usa
UseSystemTrustStore=1a menos que necesites un repositorio de confianza personalizado.
- No use el modo de certificado autofirmado (
Para almacenes de confianza personalizados:
- Use al conectarse a servidores con certificados que no están en el almacén de confianza predeterminado.
- Asegúrese de que el almacén de confianza contiene la cadena de certificados completa.
- Proteja los archivos del almacén de confianza con los permisos adecuados.
Propiedades de la estrategia de reintento
Las siguientes propiedades de estrategia de reintento son compatibles con databricks JDBC Driver (OSS). Las propiedades no distinguen mayúsculas de minúsculas.
| Propiedad | Valor predeterminado | Descripción |
|---|---|---|
RateLimitRetry |
1 |
Si se establece en 1, habilita el reintento en errores de límite de velocidad. |
RateLimitRetryTimeout |
120 |
Tiempo de espera de reintento de límite de velocidad en segundos. |
TemporarilyUnavailableRetry |
1 |
Si se establece en 1, habilita el reintento en errores no disponibles temporalmente. |
TemporarilyUnavailableRetryTimeout |
900 |
Tiempo de espera de reintento para errores temporalmente no disponibles, en segundos. |
VolumeOperationRetryableHttpCode |
408,429,500,502,503,504 |
Lista separada por comas de códigos HTTP que se pueden reintentar para la ingesta de volúmenes de Unity Catalog. |
VolumeOperationRetryTimeout |
15 |
Tiempo de espera de reintento para solicitudes HTTP de ingesta de volúmenes del catálogo de Unity, en minutos. |
Propiedades de administración de rendimiento y conexión
Las siguientes propiedades de administración de rendimiento y conexión son compatibles con Databricks JDBC Driver (OSS). Las propiedades no distinguen mayúsculas de minúsculas.
| Propiedad | Valor predeterminado | Descripción |
|---|---|---|
CloudFetchThreadPoolSize |
16 |
Tamaño del grupo de subprocesos para las operaciones de obtención en la nube. |
DefaultStringColumnLength |
255 |
Número máximo de caracteres que se pueden contener en columnas STRING para los informes de metadatos. |
HttpConnectionPoolSize |
100 |
Tamaño máximo del grupo de conexiones HTTP. |
IdleHttpConnectionExpiry |
60 |
Tiempo de expiración de la conexión HTTP inactiva, en segundos. |
RowsFetchedPerBlock |
2000000 |
Número máximo de filas que devuelve una consulta a la vez. Esto solo se aplica a los resultados en línea. |
SocketTimeout |
900 |
Tiempo de espera del socket para las operaciones de red, en segundos. |
Propiedades de configuración de SQL
Las siguientes propiedades de configuración de SQL son compatibles con el controlador JDBC de Databricks. También se describen en Parámetros de configuración. Las propiedades no distinguen mayúsculas de minúsculas.
| Propiedad | Valor predeterminado | Descripción |
|---|---|---|
ansi_mode |
TRUE |
Si se habilita el comportamiento estricto de ANSI SQL para determinadas funciones y reglas de conversión. |
enable_photon |
TRUE |
Indica si se va a habilitar el motor de consultas vectorizado Photon. |
legacy_time_parser_policy |
EXCEPTION |
Los métodos usados para analizar y dar formato a fechas y marcas de tiempo. Los valores válidos son EXCEPTION, LEGACYy CORRECTED. |
max_file_partition_bytes |
128m |
El número máximo de bytes a empaquetar en una sola partición cuando se lee de fuentes basadas en archivos. La configuración puede ser cualquier entero positivo y opcionalmente, incluir una medida como b (bytes), k o kb (1024 bytes). |
query_tags |
"" (cadena vacía) |
Lista separada por comas de etiquetas clave-valor que se van a asociar a consultas SQL para el seguimiento y el análisis en system.query.history. |
read_only_external_metastore |
false |
Controla si un metastore externo se trata como de solo lectura. |
statement_timeout |
172800 |
Establece un tiempo de espera de instrucción SQL entre 0 y 172800 segundos. |
timezone |
UTC |
Establezca la zona horaria local. Id. de región con el formato area/city, como America/Los_Angeles o desplazamientos de zona en el formato (+|-)HH, (+|-)HH:mm o (+|-)HH:mm:ss, por ejemplo, -08, +01:00 o -13:33:33. Además, UTC se admite como alias para +00:00. |
use_cached_result |
true |
Si Databricks SQL almacena en caché y reutiliza los resultados siempre que sea posible. |
Registro de propiedades
Las siguientes propiedades de registro son compatibles con el controlador JDBC de Databricks. Las propiedades no distinguen mayúsculas de minúsculas.
| Propiedad | Valor predeterminado | Descripción |
|---|---|---|
LogFileCount |
10 |
El número máximo de archivos de registro permitidos |
LogFileSize |
10 |
Tamaño máximo permitido del archivo de registro, especificado en MB |
LogLevel |
OFF |
El nivel de registro, que es un valor de 0 a 6:
Use esta propiedad para habilitar o deshabilitar el registro en el conector y especificar la cantidad de detalles incluidos en los archivos de registro. |
LogPath |
Para determinar la ruta de acceso predeterminada para los registros, el controlador usa el valor establecido para estas propiedades del sistema, en este orden de prioridad:
|
Ruta de acceso completa a la carpeta donde el conector guarda los archivos de registro cuando el registro está habilitado, como una cadena. Para asegurarse de que la dirección URL de conexión es compatible con todas las aplicaciones JDBC, escape las barras diagonales inversas (\) en la ruta de acceso del archivo escribiendo otra barra diagonal inversa.Si el LogPath valor no es válido, el conector envía la información registrada al flujo de salida estándar (System.out). |
Habilitación y configuración del registro
El controlador JDBC admite los frameworks Simple Logging Facade for Java (SLF4J) y java.util.logging (JUL). El controlador usa el marco de registro jul de forma predeterminada.
Para habilitar y configurar el registro para el controlador JDBC:
Habilite el marco de registro que desea usar:
- Para el registro de SLF4J, establezca la propiedad
-Dcom.databricks.jdbc.loggerImpl=SLF4JLOGGERdel sistema y proporcione la implementación de enlace SLF4J (compatible con la versión 2.0.13 y posteriores de SLF4J) y el archivo de configuración correspondiente en la ruta de clase. - Para el registro de JUL, establezca la propiedad
-Dcom.databricks.jdbc.loggerImpl=JDKLOGGERdel sistema. Este es el valor predeterminado.
- Para el registro de SLF4J, establezca la propiedad
Establezca la propiedad
LogLevelen la cadena de conexión al nivel deseado de información para incluir en los archivos de registro.Establezca la propiedad
LogPathde la cadena de conexión en la ruta de acceso completa a la carpeta donde desea guardar los archivos de registro.Por ejemplo, la siguiente dirección URL de conexión habilita el nivel de registro 6 y guarda los archivos de registro en la carpeta C:temp:
jdbc: databricks://localhost:11000;LogLevel=6;LogPath=C:\\tempReinicie la aplicación JDBC y vuelva a conectarse al servidor para aplicar la configuración.
Otras propiedades de las funcionalidades
Las siguientes propiedades habilitan las características del controlador JDBC de Databricks. Las propiedades no distinguen mayúsculas de minúsculas.
| Propiedad | Valor predeterminado | Descripción |
|---|---|---|
EnableArrow |
1 |
Si se establece en 0, la serialización de flechas para los resultados está deshabilitada, lo que también deshabilita el comportamiento de Captura en la nube, ya que el formato de flecha es necesario para Cloud Fetch. |
EnableComplexDatatypeSupport |
0 |
Si se establece en 1, se habilita la compatibilidad con tipos de datos complejos (ARRAYs, STRUCTs, MAPs) como objetos java nativos en lugar de cadenas. |
EnableDirectResults |
1 |
Si se establece en 1, habilita los resultados directos para mejorar el rendimiento de las consultas. |
EnableGeoSpatialSupport |
0 |
Si se establece en 1, habilita la compatibilidad con tipos de datos geoespaciales (GEOMETRY y GEOGRAPHY) como objetos estructurados de Java. Requiere EnableComplexDatatypeSupport=1 y EnableArrow=1 (Arrow está habilitado de forma predeterminada). Cuando se deshabilita, las columnas geoespaciales se devuelven como STRING en formato EWKT. Consulte Funciones geoespaciales ST. |
EnableSqlScripting |
1 o true |
Habilita la compatibilidad del scripting SQL para bloques de instrucciones compuestas (BEGIN...END) y llamadas a procedimientos almacenados. Disponible en la versión 1.0.10 del controlador y versiones posteriores con Databricks Runtime 16.3 y versiones posteriores. Los procedimientos almacenados requieren Databricks Runtime 17.0 y versiones posteriores y la versión 3.0.1 del controlador y posteriores. Utilice Statement o PreparedStatement para invocar procedimientos.
CallableStatement no se admite. Para obtener sintaxis y ejemplos, consulte Scripting de SQL. |
EnableMetricViewMetadata |
0 |
Si se establece en 1, habilita las operaciones de metadatos mejoradas para las vistas de métricas. Consulte Trabaje con los metadatos de la vista de métricas mediante el controlador JDBC de Databricks. |
EnableTelemetry |
0 |
Si se establece en 1, la telemetría está habilitada. Consulte Telemetría. |
EnableVolumeOperations |
1o true |
Propiedad de información de cliente para habilitar las operaciones de volumen en una secuencia. Consulte Administración de archivos en volúmenes con el controlador JDBC de Databricks. De forma predeterminada, esta propiedad también habilita la REMOVE operación sobre un volumen. Importante: Debe establecerlo como una propiedad de información de cliente. Proporcionarlo solo en la URL de conexión no habilita las operaciones de volumen para un flujo de datos. |
MaxBatchSize |
500 |
Tamaño máximo del lote para las operaciones por lotes y el procesamiento de datos. |
QueryResultCompressionType |
1 | Los valores válidos son 0 (sin compresión) y 1 (para la compresión LZ4). El controlador invalida automáticamente a 0 (sin compresión) para los resultados en línea, independientemente de la configuración. |
UserAgentEntry |
browser |
La entrada User-Agent que se va a incluir en la solicitud HTTP. Este valor tiene el formato siguiente: [ProductName]/[ProductVersion] [Comment] |
UseThriftClient |
1 |
Si el controlador JDBC debe usar el cliente thrift o las API de ejecución de instrucciones. |
VolumeOperationAllowedLocalPaths |
`` | Lista separada por comas de rutas de acceso locales permitidas para descargar y cargar archivos de ingesta de volúmenes de Unity Catalog. Las rutas de acceso también incluyen subdirectorios. Cuando no se especifica, esto vuelve al valor de StagingAllowedLocalPathsy, a continuación, a una cadena vacía que no especifica ninguna restricción. Consulte Administración de archivos mediante volúmenes.Importante: Si la configuración está en un entorno multiinquilino (como herramientas de BI o servicios para desarrolladores) y los usuarios controlan la dirección URL completa de JDBC, el servicio debe establecer esta propiedad en una ubicación de espacio aislado o en una ruta de acceso inexistente. Esto impide que los usuarios escriban archivos arbitraty e interfieran con la implementación interna del servicio. |
Colección de telemetría
La telemetría permite a Databricks simplificar la depuración y proporcionar una solución de problemas oportuna mediante la recopilación de:
- Detalles del entorno de cliente (versión del controlador, tiempo de ejecución, detalles del sistema operativo)
- Configuraciones de conexión JDBC (excluye los datos de PII)
- Medidas de latencia de operación
- Formato de resultado de ejecución (JSON insertado, flecha, etc.)
- Tipos de operación (consulta de ejecución, consulta de metadatos, operaciones de volumen)
- Datos de clasificación de errores
- Recuentos de reintentos
Nota:
Databricks mantiene estándares de privacidad estrictos que garantizan que no se recopilan contenido de consulta, resultados ni información de identificación personal (PII).