Databricks JDBC 驱动程序的驱动程序功能设置

本文介绍如何为 Databricks JDBC 驱动程序配置特殊和高级驱动程序功能设置。

Datbricks JDBC 驱动程序提供以下特殊和高级驱动程序功能设置。

JDBC 中的 ANSI SQL-92 查询支持

旧版 Spark JDBC 驱动程序接受 ANSI SQL-92 方言的 SQL 查询,并在将查询发送到服务器之前将这些查询转换为 Databricks SQL 方言。 但是,如果应用程序直接生成 Databricks SQL,或者应用程序使用特定于 Azure Databricks 的任何非 ANSI SQL-92 标准 SQL 语法,Databricks 建议将 UseNativeQuery=1 设置为连接配置。 使用该设置时,驱动程序会将 SQL 查询按原样传递到 Azure Databricks。

默认目录和架构

若要指定默认目录和架构,请将 ConnCatalog=<catalog-name>;ConnSchema=<schema-name> 添加到 JDBC 连接 URL。

在 JDBC 中提取大型查询结果

若要在提取大型查询结果时获得最佳性能,请使用包含以下优化措施的最新版 JDBC 驱动程序。

JDBC 中的 Arrow 序列化

JDBC 驱动程序版本 2.6.16 和更高版本支持使用 Apache Arrow 的优化查询结果序列化格式。

JDBC 中的云提取

JDBC 驱动程序版本 2.6.19 和更高版本支持云提取,这是一项通过 Azure Databricks 部署中设置的云存储提取查询结果的功能。

查询结果以不超过 20 MB 的 Arrow 序列化文件形式上传到内部 DBFS 存储位置。 当驱动程序在查询完成后发送提取请求时,Azure Databricks 会生成共享访问签名并将其返回到上传的文件。 然后,JDBC 驱动程序使用 URL 直接从 DBFS 下载结果。

云提取只可用于大于 1 MB 的查询结果。 更小的结果需要直接从 Azure Databricks 检索。

对于标记为在 24 小时后删除的累积文件,Azure Databricks 自动执行垃圾回收。 再过 24 小时后,将彻底删除已标记的这些文件。

若要详细了解云提取体系结构,请参阅我们如何通过 BI 工具实现高带宽连接

启用日志记录

若要在 JDBC 驱动程序中启用日志记录,请通过用于记录所有驱动程序活动的 61 中的 LogLevel 属性设置为仅记录严重事件。 将 LogPath 属性设置为要保存日志文件的文件夹的完整路径。

有关详细信息,请参阅 Databricks JDBC 驱动程序指南中的 Configuring Logging 部分。