Uso avançado do Databricks Connect for Scala
Este artigo aborda Databricks Connect para Databricks Runtime 14.3 e acima.
Este artigo descreve tópicos que vão além da configuração básica do site Databricks Connect.
Registro e depuração logs
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 do site log. A opção mais simples é incluir o provedor slf4j-simple, que imprimirá mensagens log 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 pega 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 clustering depender de um certificado SSL/TLS personalizado para resolver um nome de domínio totalmente qualificado (FQDN) Databricks workspace , o senhor deverá definir a variável de ambiente GRPC_DEFAULT_SSL_ROOTS_FILE_PATH
em seu computador de desenvolvimento local. Essa variável de ambiente deve ser definida como o caminho completo para o certificado instalado no clustering.
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.