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.