メインコンテンツまでスキップ

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

証明 書

クラスターがカスタム SSL/TLS 証明書に依存して Databricks ワークスペースの完全修飾ドメイン名 (FQDN) を解決する場合は、ローカル開発マシンで環境変数 GRPC_DEFAULT_SSL_ROOTS_FILE_PATHを設定する必要があります。 この環境変数は、クラスタにインストールされている証明書のフルパスに設定する必要があります。

たとえば、この環境変数を Scala コードで次のように設定します。

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

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