适用于 Scala 的 Databricks Connect 的高级用法

注意

本文介绍适用于 Databricks Runtime 14.3 及更高版本的 Databricks Connect。

本文介绍的主题超出了 Databricks Connect 的基本设置。

日志记录和调试日志

适用于 Scala 的 Databricks Connect 使用 SLF4J 日志记录,但不随任何 SLF4J 提供程序一起提供。

使用 Databricks Connect 的应用程序应包含适合其的 SLF4J 提供程序。

需要添加(在某些情况下还需要配置)合适的日志记录提供程序,以打印日志消息。 最简单的选项是包含 slf4j-simple 提供程序,在 INFO 及更高级别打印日志消息并输出到标准错误流 (stderr)。

一个更可配置的替代方法是使用 slf4j-reload4j 提供程序,从类路径中的 log4j.properties 文件选取配置。

以下代码片段显示了一个简单的 log4j.properties 文件。

log4j.rootLogger=INFO,stderr

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%p\t%d{ISO8601}\t%r\t%c\t[%t]\t%m%n

在前面的示例中,如果根记录器或特定记录器在 DEBUG 级别配置,即通过更改以下行来输出调试日志:

log4j.rootLogger=DEBUG,stderr

Certificates

如果群集依赖于自定义 SSL/TLS 证书来解析 Azure Databricks 工作区完全限定的域名 (FQDN),则必须在本地开发计算机上设置环境变量 GRPC_DEFAULT_SSL_ROOTS_FILE_PATH。 此环境变量必须设置为群集上已安装证书的完整路径。

例如,在 Scala 代码中设置此环境变量,如下所示:

import scala.sys.process._

val envVar = "GRPC_DEFAULT_SSL_ROOTS_FILE_PATH"
val envValue = "/etc/ssl/certs/ca-bundle.crt"

// Setting the environment variable
val process = Process(Seq("bash", "-c", s"export $envVar=$envValue"))
process.!

有关设置环境变量的其他方式,请参阅操作系统的文档。