Solução de problemas do Databricks Connect para Python
Observação
Esse artigo aborda o Databricks Connect para Databricks Runtime 13.3 LTS e superior.
Este artigo apresenta informações de solução de problemas do Databricks Connect para Python. O Databricks Connect permite que você conecte IDEs, servidores de notebook populares e aplicativos personalizados aos clusters do Azure Databricks. Consulte O que é o Databricks Connect?. Para obter a versão Scala deste artigo, consulte Solução de problemas do Databricks Connect para Scala.
Erro: StatusCode.UNAVAILABLE, StatusCode.UNKNOWN, falha na resolução DNS ou cabeçalho http2 recebido com o status 500
Problema: ao tentar executar o código com o Databricks Connect, você receberá uma mensagem de erro que contém cadeias de caracteres como StatusCode.UNAVAILABLE
, StatusCode.UNKNOWN
, DNS resolution failed
ou Received http2 header with status: 500
.
Possível causa: o Databricks Connect não pode alcançar o cluster.
Soluções recomendadas:
- 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 correta personalizada do cluster compatível com o Databricks Connect.
Incompatibilidade de versão do Python
Verifique se a versão do Python que você está usando localmente tem, pelo menos, a mesma versão secundária que a versão no cluster (por exemplo, 3.10.11
em relação a 3.10.10
é adequado, mas 3.10
em relação a 3.9
não).
Se você tiver várias versões do Python instaladas localmente, verifique se o Databricks Connect está usando a correta definindo a variável de ambiente PYSPARK_PYTHON
(por exemplo, PYSPARK_PYTHON=python3
).
Instalações conflitantes do PySpark
O pacote databricks-connect
entra em conflito com o PySpark. Ter os dois instalados causará erros ao inicializar o contexto do Spark no Python. Isso pode se manifestar de várias maneiras, incluindo erros de “fluxo corrompido” ou “classe não encontrada”. Se você tiver o PySpark instalado no ambiente do Python, verifique se ele foi desinstalado antes de instalar o databricks-connect. Depois de desinstalar o PySpark, lembre-se de reinstalar totalmente o pacote do Databricks Connect:
pip3 uninstall pyspark
pip3 uninstall databricks-connect
pip3 install --upgrade "databricks-connect==14.0.*" # or X.Y.* to match your specific cluster version.
Entrada PATH
conflitante ou ausente para binários
É possível que o PATH esteja configurado, ou seja, comandos como spark-shell
executarão algum outro binário instalado anteriormente em vez do fornecido com o Databricks Connect. Você deve verificar se os binários do Databricks Connect têm precedência ou remover os instalados anteriormente.
Se você não consegue executar comandos como spark-shell
, também é possível que o PATH não tenha sido configurado automaticamente pelo pip3 install
e você precisará adicionar o diretório bin
de instalação ao PATH manualmente. É possível usar o Databricks Connect com IDEs, mesmo que isso não esteja configurado.
A sintaxe do nome do arquivo, do nome do diretório ou do rótulo do volume está incorreta no Windows
Se estiver usando o Databricks Connect no Windows e receber:
The filename, directory name, or volume label syntax is incorrect.
O Databricks Connect foi instalado em um diretório com um espaço no caminho. Resolva isso instalando em um caminho de diretório sem espaços ou configurando o caminho usando o formato de nome curto.