Solução de problemas do Databricks Connect para Python

Observação

Este artigo aborda o Databricks Connect para Databricks Runtime 13.0 e acima.

Este artigo fornece informações de solução de problemas do Databricks Connect para Python. 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 Scala destes artigos, consulte Solução de problemas do Databricks Connect for Scala.

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.

Possível causa: o Databricks Connect não consegue alcançar seus clusters.

Soluções recomendadas:

  • 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.

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 da versão nos clusters (por exemplo, 3.10.11 versus 3.10.10 está OK, 3.10 versus 3.9 não).

Se tiver várias versões Python instaladas localmente, certifique-se de que o Databricks Connect está a utilizar a versão correta definindo a variável de ambiente PYSPARK_PYTHON (por exemplo, PYSPARK_PYTHON=python3).

Instalações conflitantes do PySpark

O pacote databricks-connect está em conflito com o PySpark. Ter ambos instalados causará erros ao inicializar o contexto Spark em Python. Isso pode se manifestar de diversas maneiras, incluindo erros de “transmissão corrompida” ou “classe não encontrada”. Se tiver o PySpark instalado no seu ambiente Python, certifique-se de que está desinstalado antes de instalar o databricks-connect. Após desinstalar o PySpark, certifique-se de reinstalar completamente o pacote 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 seu PATH esteja configurado para que comandos como spark-shell executem algum outro binário instalado anteriormente em vez daquele fornecido com o Databricks Connect. Você deve certificar-se de que os binários do Databricks Connect tenham precedência ou remover os instalados anteriormente.

Se você não puder executar comandos como spark-shell, também é possível que seu PATH não tenha sido configurado automaticamente por pip3 install e você precisará adicionar o diretório de instalação bin ao seu PATH manualmente. É possível usar o Databricks Connect com IDEs mesmo que não esteja configurado.

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

Se você estiver usando o Databricks Connect no Windows e veja:

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

O Databricks Connect foi instalado em um diretório com um espaço no seu caminho. Você pode contornar isso instalando em um caminho de diretório sem espaços ou configurando seu caminho usando o formato de nome abreviado.