Solução de problemas do Databricks Connect para Scala

Observação

Este artigo aborda o Databricks Connect para Databricks Runtime 13.3 LTS e acima.

Este artigo fornece informações de solução de problemas do Databricks Connect para Scala. O Databricks Connect permite conectar IDEs populares, servidores Notebook e aplicativos personalizados a clusters Databricks. Consulte O que é o Databricks Connect?. Para a versão Python destes artigos, consulte Solução de problemas do Databricks Connect for Python.

Erro: StatusCode.UNAVAILABLE, StatusCode.UNKNOWN, falha na resolução de DNS ou cabeçalho http2 recebido com status 500

Problema: ao tentar executar o código com o Databricks Connect, você recebe mensagens de erro que contêm strings como StatusCode.UNAVAILABLE, StatusCode.UNKNOWN, DNS resolution failed ou Received http2 header with status: 500.

Causa: Databricks Connect não consegue acessar seu clustering.

Soluções:

  • Verifique se o nome da instância do seu workspace está correto. Se você usar variáveis de ambiente, verifique se a variável de ambiente relacionada está disponível e correta em sua máquina de desenvolvimento local.

  • Verifique se o ID do seu clusters está correto. Se você usar variáveis de ambiente, verifique se a variável de ambiente relacionada está disponível e correta em sua máquina de desenvolvimento local.

  • Verifique se os seus clusters têm a versão correta clusters personalizados que é compatível com o Databricks Connect.

A sintaxe do nome do arquivo, do diretório ou do rótulo do volume está incorreta no Windows

Problema: O senhor está usando o Databricks Connect no Windows e vê:

The filename, directory name, or volume label syntax is incorrect.

Causa: O Databricks Connect foi instalado em um diretório com um espaço em seu caminho.

soluções: O senhor pode contornar isso instalando em um caminho de diretório sem espaços ou configurando seu caminho usando o formulário de nome curto.

Erro: Falha ao inicializar o MemoryUtil

Problema: quando você tenta criar um DatabricksSession, ele retorna um erro Failed to initialize MemoryUtil.

Causa: Apache O Arrow é uma dependência do cliente Databricks Connect e está tentando acessar um método privado Java usando reflexão, que é bloqueado pelo default em Java 17 devido a considerações de segurança.

Solução:

Defina o seguinte campo da JVM antes da inicialização da JVM:

--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED

Para obter mais informações, consulte Apache Arrow Java Compatibility.

Dica

Para definir as opções de Java no IntelliJ, consulte Configuração de execução/depuração do IntelliJ.