Compartilhar via


Solução de problemas do Databricks Connect para Scala

Observação

Esse artigo aborda o Databricks Connect para Databricks Runtime 13.3 LTS e superior.

Este artigo fornece informações de solução de problemas para o Databricks Connect para Scala. O Databricks Connect permite que você conecte IDEs mais populares, servidores de notebook e aplicativos personalizados aos clusters do Azure Databricks. Veja O que é Databricks Connect?. Para acessar a versão Python deste artigo, confira Solução de problemas do Databricks Connect para Python.

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

Problema: ao tentar executar o código com o Databricks Connect, você obtém 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 pode alcançar seu cluster.

Soluções:

  • Verifique se o nome da instância do workspace está correto. Se você usar variáveis de ambiente, verifique se a variável de ambiente relacionada está disponível e correta no computador de desenvolvimento local.
  • Verifique se a ID do cluster está correta. Se você usar variáveis de ambiente, verifique se a variável de ambiente relacionada está disponível e correta no computador de desenvolvimento local.
  • Verifique se o cluster tem a versão de cluster personalizada correta compatível com o Databricks Connect.

O nome do arquivo, o nome do diretório ou a sintaxe do rótulo de volume estão incorretos no Windows

problema: você está usando o Databricks Connect no Windows e veja:

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

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

Solução: resolva isso instalando em um caminho de diretório sem espaços ou configurando o caminho usando o formato de nome curto.

Erro: Falha ao inicializar MemoryUtil

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

Causa: o Apache Arrow é uma dependência do cliente do Databricks Connect e está tentando acessar um método Java privado usando reflexão, que é bloqueado por padrão no Java 17, devido a consideraçõ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 obter mais informações, consulte Compatibilidade Java do Apache Arrow.

Gorjeta

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