Compartir vía


Configuración de la funcionalidad del controlador para el controlador JDBC de Databricks

En este artículo se describe cómo configurar las opciones de funcionalidad de controlador especiales y avanzadas para el Controlador JDBC de Databricks.

El controlador JDBC de Databricks proporciona la siguiente configuración de funcionalidad de controlador especial y avanzada.

Compatibilidad con consultas SQL-92 de ANSI en JDBC

Los controladores heredados JDBC de Spark aceptan consultas SQL en dialecto ANSI SQL-92 y traducen las consultas al dialecto Databricks SQL antes de enviarlos al servidor. Sin embargo, si la aplicación genera sintaxis SQL de Databricks directamente o la aplicación usa una sintaxis SQL estándar en el dialecto SQL-92 que no sea ANSI específica de Azure Databricks, Databricks recomienda establecer UseNativeQuery=1 como la configuración de conexión. Con esa configuración, el controlador pasa las consultas SQL textuales a Azure Databricks.

Catálogo y esquema predeterminados

Para especificar el catálogo y el esquema predeterminados, agregue ConnCatalog=<catalog-name>;ConnSchema=<schema-name> a la dirección URL de conexión JDBC.

Extracción de resultados de consultas grandes en JDBC

Para lograr el mejor rendimiento al extraer resultados de consultas grandes, use la última versión del controlador JDBC, que incluye las siguientes optimizaciones.

Serialización de Arrow en JDBC

La versión 2.6.16 del controlador JDBC y versiones posteriores admiten un formato de serialización de resultados de consulta optimizado que usa Apache Arrow.

Cloud Fetch en JDBC

La versión 2.6.19 y las versiones posteriores del controlador JDBC admiten Cloud Fetch, una funcionalidad que captura los resultados de la consulta mediante el almacenamiento en la nube configurado en la implementación de Azure Databricks.

Los resultados de la consulta se cargan en una ubicación de almacenamiento DBFS interna como archivos serializados por Arrow de hasta 20 MB. Cuando el controlador envía solicitudes de captura después de la finalización de la consulta, Azure Databricks genera y devuelve firmas de acceso compartido a los archivos cargados. A continuación, el controlador JDBC usa las direcciones URL para descargar los resultados directamente desde DBFS.

Cloud Fetch solo se usa para los resultados de consulta de más de 1 MB. Los resultados más pequeños se recuperan directamente de Azure Databricks.

Azure Databricks recopila automáticamente los archivos acumulados que se marcan para su eliminación después de 24 horas. Estos archivos marcados se eliminan completamente después de otras 24 horas.

Para más información sobre la arquitectura de Cloud Fetch, vea Cómo logramos la conectividad de ancho de banda alto con las herramientas de BI.

Habilitar registro

Para habilitar el registro en el controlador JDBC, establezca la LogLevelpropiedad de 1 para registrar solo eventos graves a través de 6 para registrar toda la actividad del controlador. Establezca la propiedad LogPath en la ruta de acceso completa a la carpeta donde desea guardar los archivos de registro.

Para más información, vea la sección Configuring Logging de la guía del controlador JDBC de Databricks.