Uso avançado do Databricks Connect for Scala

Observação

Este artigo aborda o Databricks Connect para o Databricks Runtime 14.3 e superior.

Este artigo descreve tópicos que vão além da configuração básica do Databricks Connect.

Registros de log e de depuração

O Databricks Connect for Scala usa o registro SLF4J e não é fornecido com nenhum provedor SLF4J.

Espera-se que os aplicativos que usam o Databricks Connect incluam um provedor SLF4J que seja adequado a eles.

Um provedor de registro adequado precisa ser adicionado e, em alguns casos, configurado para imprimir as mensagens de registro. A opção mais simples é incluir o provedor slf4j-simple, que imprimirá mensagens de logs no nível INFO e superior na transmissão de erro padrão(stderr).

Uma alternativa mais configurável é usar o provedor slf4j-reload4j, que obtém a configuração de um arquivo log4j.properties no classpath.

O trecho de código a seguir mostra um arquivo log4j.properties simples.

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

No exemplo anterior, os logs de depuração serão impressos se o logger raiz ou um logger específico for configurado no nível DEBUG, ou seja, alterando a linha:

log4j.rootLogger=DEBUG,stderr

Certificados

Se o seu cluster depender de um certificado SSL/TLS personalizado para resolver um Databricks workspace nome de domínio totalmente qualificado (FQDN), o senhor deverá definir a variável de ambiente GRPC_DEFAULT_SSL_ROOTS_FILE_PATH no computador de desenvolvimento local. Essa variável de ambiente deve ser definida como o caminho completo para o certificado instalado no cluster.

Por exemplo, o senhor define essa variável de ambiente no código Scala da seguinte forma:

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

Para outras formas de definir a variável de ambiente, consulte a documentação do seu sistema operacional.