Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Nota
Este artigo aborda o Databricks Connect para o Databricks Runtime 13.3 LTS e superior.
Este artigo fornece informações de resolução de problemas para o Databricks Connect para Python. 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 Scala deste artigo, consulte Solução de problemas do Databricks Connect for Scala.
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.
Possível causa: o Databricks Connect não consegue alcançar o cluster.
Soluções recomendadas:
- 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.
- Certifique-se de que o seu cluster tenha a versão personalizada correta do cluster que é compatível com o Databricks Connect.
Incompatibilidade de versões em Python
Verifica se a versão Python que estás a usar localmente tem pelo menos a mesma versão menor que a versão do cluster (por exemplo, 3.10.11 versus 3.10.10 é aceitável, 3.10 versus 3.9 não é). Para versões suportadas, consulte a matriz de suporte da versão .
Se tiver várias versões de Python instaladas localmente, certifique-se de que o Databricks Connect está a usar a certa definindo a variável de ambiente PYSPARK_PYTHON (por exemplo, PYSPARK_PYTHON=python3).
Instalações conflitantes do PySpark
O databricks-connect pacote entra em conflito com o PySpark. Ter ambos instalados vai causar erros ao inicializar o contexto do Spark em Python. Isso pode se manifestar de várias maneiras, incluindo erros de "fluxo corrompido" ou "classe não encontrada". Se tiver pyspark instalado no seu ambiente Python, certifique-se de que está desinstalado antes de instalar databricks-connect. Depois de desinstalar o PySpark, certifique-se de reinstalar totalmente 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.
O Databricks Connect e o PySpark são mutuamente exclusivos, mas é possível usar ambientes virtuais Python para fazer desenvolvimento remoto com databricks-connect no seu IDE e testes locais com pyspark num terminal. No entanto, a Databricks recomenda que utilize o Databricks Connect para Python com computação serverless para todos os testes, pelas seguintes razões:
- Databricks Runtime e, portanto,
databricks-connect, contém recursos que não estão disponíveis no OSSpyspark. - Testar com
databricks-connecte sem servidor é mais rápido do que testar usandopysparklocalmente. - As integrações do Catálogo Unity não estão disponíveis no
pyspark, portanto, não haverá permissões impostas quando você testar usandopysparklocalmente. - Para testar de ponta a ponta com uma dependência externa, como o processamento do Databricks, os testes de integração, ao contrário dos testes de unidade, são mais eficazes.
Se ainda optar por ligar-se a um cluster Spark local, pode especificar um connection string usando o seguinte:
connection_string = "sc://localhost"
DatabricksSession.builder.remote(connection_string).getOrCreate()
Entrada conflitante ou ausente PATH para binários
É possível que seu PATH esteja configurado para que comandos como spark-shell estarão executando algum outro binário instalado anteriormente em vez daquele fornecido com o Databricks Connect. Certifique-se de que os binários do Databricks Connect tenham precedência ou remova os instalados anteriormente.
Se não consegues executar comandos como spark-shell, pode ser que o teu PATH não tenha sido configurado automaticamente por pip3 install e precise adicionar manualmente o diretório de instalação bin ao teu PATH. É possível usar o Databricks Connect com IDEs mesmo que isso não esteja configurado.
A sintaxe do nome do ficheiro, do diretório ou do rótulo de volume está incorreta no Windows
Se estiver a usar Databricks, ligue-se 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 caminho. Você pode contornar isso instalando num caminho de diretório sem espaços, ou configurando seu caminho usando a forma de nome curto.