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

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

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

在 ODBC 中设置初始架构

ODBC 驱动程序允许通过将 Schema=<schema-name> 设置为连接配置来指定架构。 这相当于运行 USE <schema-name>

ODBC 中的 ANSI SQL-92 查询支持

ODBC 驱动程序接受采用 ANSI SQL-92 方言的 SQL 查询,并可将查询转换为 Databricks SQL 方言。 但是,如果应用程序直接生成 Databricks SQL,或者应用程序使用特定于 Azure Databricks 的任何非 ANSI SQL-92 标准 SQL 语法,Databricks 建议将 UseNativeQuery=1 设置为连接配置。 使用该设置时,驱动程序会将 SQL 查询按原样传递到 Azure Databricks。

在 ODBC 中提取大型查询结果

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

ODBC 中的 Arrow 序列化

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

ODBC 中的云提取

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

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

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

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

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

启用日志记录

若要在适用于 Windows 的 ODBC 驱动程序中启用日志记录,请为相关 DSN 设置 ODBC Data Source Administrator 中的以下字段:

  • 设置“日志级别”字段:可将其设为从“灾难性”(仅记录严重事件)到“跟踪”(记录所有驱动程序活动)的任意级别
  • 将“日志路径”字段设置为要保存日志文件的文件夹的完整路径
  • 将“最大文件数”字段设置为要保留的最大日志文件数。
  • 将“最大文件大小”字段设置为每个日志文件的最大大小(以 MB 为单位)。

若要在非 Windows 计算机的 ODBC 驱动程序中启用日志记录,请设置相关 DSN 或无 DSN 连接字符串中的以下属性:

  • 设置 LogLevel 属性:可设为从 1(仅记录严重事件)到 6(记录所有驱动程序活动)的任意值。
  • LogPath 属性设置为要保存日志文件的文件夹的完整路径。
  • LogFileCount 属性设置为要保留的最大日志文件数。
  • LogFileSize 属性设置为每个日志文件的最大大小(以字节为单位)。

有关详细信息,请参阅 Databricks JDBC 驱动程序指南 中的“Configuring Logging Options on Windows”和“Configuring Logging Options on a Non-Windows Machine”部分。