Databricks Connect for Scala の高度な使用法
注:
この記事では、Databricks Runtime 14.3 以降の Databricks Connect について説明します。
この記事では、Databricks Connect の基本セットアップを超えるトピックについて説明します。
ログ記録とデバッグログ
Databricks Connect for Scala はSLF4Jログを使用しますが、SLF4J プロバイダーは同梱されていません。
Databricks Connect を使用するアプリケーションには、それらに適した SLF4J プロバイダーが含まれることが期待されます。
適切なログ プロバイダーを追加し、場合によっては、ログ メッセージを出力するように構成する必要があります。 最も簡単なオプションは、 レベル以上のログ メッセージを標準エラー ストリーム ( stderr ) に出力する slf4j-simple プロバイダを 含めることです。INFO
より設定可能な代替手段は、クラスパス内のlog4j.properties
ファイルから構成を取得する slf4j-reload4j プロバイダーを使用することです。
次のコード スニペットは、単純な 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
証明 書
クラスターが Databricks ワークスペースの完全修飾ドメイン名 (FQDN) を解決するためにカスタム SSL/TLS 証明書に依存している場合は、ローカル開発マシンで環境変数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.!
環境変数を設定する他の方法については、オペレーティング システムのドキュメントを参照してください。