适用于 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.!
有关设置环境变量的其他方式,请参阅操作系统的文档。