Solução de problemas do Databricks Connect for Scala

Observação

Este artigo aborda o Databricks Connect para Databricks Runtime 13.3 LTS ou mais recente.

Este artigo fornece informações de solução de problemas para o Databricks Connect for Scala. O Databricks Connect permite-lhe ligar IDEs populares, servidores de cadernos e aplicações personalizadas a clusters do Azure Databricks. Consulte Databricks Connect. Para a versão Python deste artigo, veja Troubleshooting Databricks Connect para Python.

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

Problema: Quando você tenta executar código com o Databricks Connect, você recebe uma mensagem de erro que contém cadeias de caracteres como StatusCode.UNAVAILABLE, StatusCode.UNKNOWN, DNS resolution failedou Received http2 header with status: 500.

Causa: O Databricks Connect não consegue aceder ao seu cluster.

Soluções:

  • Verifique se o nome da instância do espaço de trabalho 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 cluster 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 cluster possui a versão de cluster personalizada correta, garantindo que seja compatível com o Databricks Connect.

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

Issue: Está a usar o Databricks Connect no Windows e depara-se com:

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

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

Solution: Você pode contornar isso instalando em um caminho de diretório sem espaços ou configurando seu caminho usando o formulário de nome abreviado .

Erro: Falha ao inicializar MemoryUtil

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

Cause: O Apache Arrow é uma dependência do cliente Databricks Connect e está a tentar aceder a um método privado de Java usando reflection, que por defeito está bloqueado em Java 17 devido a questões de segurança.

Solução:

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

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

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

")

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