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.!

環境変数を設定する他の方法については、オペレーティング システムのドキュメントを参照してください。