通过


Databricks JDBC 驱动 (Simba) 的驱动能力设置

注释

此页面适用于低于版本 3 的 JDBC 驱动程序(旧版)。 有关 Databricks JDBC 驱动程序版本 3 及更高版本,请参阅 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 语法,请在连接配置中设置 UseNativeQuery=1。 此设置将 SQL 查询逐字传递给Azure Databricks而不进行翻译。

默认目录和架构

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

用于跟踪的查询标记

重要

此功能以个人预览版提供。 若要请求访问权限,请联系你的帐户团队。

将键值标记附加到 SQL 查询以进行跟踪和分析。 查询标记显示在 system.query.history 表中,用于查询标识和分析。

若要将查询标记添加到连接,请在 ssp_query_tags JDBC 连接 URL 中包含参数:

jdbc:databricks://<server-hostname>:443;httpPath=<http-path>;ssp_query_tags=key1:value1,key2:value2

将查询标记定义为逗号分隔的键值对,其中每个键和值都用冒号分隔。 例如,key1:value1,key2:value2

在 JDBC 中提取大型查询结果

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

JDBC 中的 Arrow 序列化

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

注释

Cloud Fetch 仅适用于 AWS 和Azure工作区。

JDBC 中的云提取

JDBC 驱动程序版本 2.6.19 及更高版本支持 Cloud Fetch,该功能通过Azure Databricks部署中配置的云存储提取查询结果。

运行查询时,Azure Databricks将结果作为 20 MB 的箭头序列化文件存储在工作区的云存储中。 查询完成后,驱动程序会发送提取请求,Azure Databricks将共享访问签名(SAS)URL返回到结果文件。 然后,驱动程序使用这些 URL 直接从Azure存储下载结果。

Cloud Fetch 仅适用于大于 1 MB 的查询结果。 驱动程序直接从Azure Databricks检索较小的结果。

Azure Databricks自动垃圾回收累积的文件,将其标记为 24 小时后删除,并在另外 24 小时后永久删除它们。

启用日志记录

若要在 JDBC 驱动程序中启用日志记录,请将LogLevel属性设置为(仅限严重事件)和1(所有驱动程序活动)之间的6值。 将 LogPath 属性设置为要保存日志文件的文件夹的完整路径。

有关详细信息,请参阅 Databricks JDBC 驱动程序指南中的 配置日志记录