Solución de problemas de Databricks Connect para Python
Nota:
Este artículo describe Databricks Connect para Databricks Runtime 13.3 LTS y versiones posteriores.
En este artículo se proporciona información de solución de problemas para Databricks Connect para Python. Databricks Connect le permite conectar los clústeres de Azure Databricks a entornos de desarrollo integrado populares, servidores de cuadernos y otras aplicaciones personalizadas. Consulte ¿Qué es Databricks Connect?. Para obtener la versión de Scala de este artículo, consulte Solución de problemas de Databricks Connect para Scala.
Error: StatusCode.UNAVAILABLE, StatusCode.UNKNOWN, Resolución DNS con errores o Recibido encabezado http2 con estado 500
Problema: al intentar ejecutar código con Databricks Connect, obtiene un mensaje de error que contiene cadenas como StatusCode.UNAVAILABLE
, StatusCode.UNKNOWN
, DNS resolution failed
o Received http2 header with status: 500
.
Causa posible: Databricks Connect no puede acceder al clúster.
Soluciones recomendadas:
- Asegúrese de que el nombre de la instancia del área de trabajo sea correcto. Si usa variables de entorno, asegúrese de que la variable de entorno relacionada esté disponible y sea correcta en la máquina de desarrollo local.
- Asegúrese de que el identificador del clúster sea correcto. Si usa variables de entorno, asegúrese de que la variable de entorno relacionada esté disponible y sea correcta en la máquina de desarrollo local.
- Asegúrese de que el clúster tenga la versión personalizada del clúster correcta y que sea compatible con Databricks Connect.
Versión de Python no coincidente
Compruebe que la versión de Python que utiliza localmente tiene al menos la misma versión secundaria que la versión existente en el clúster (por ejemplo, se admite 3.10.11
respecto de 3.10.10
, pero no 3.10
respecto de 3.9
).
Si tiene varias versiones de Python instaladas en el entorno local, asegúrese de que Databricks Connect utiliza la correcta; para ello, establezca la variable de entorno PYSPARK_PYTHON
(por ejemplo, PYSPARK_PYTHON=python3
).
Instalaciones de PySpark en conflicto
El paquete databricks-connect
entra en conflicto con PySpark. Tener ambos instalados generará errores al inicializar el contexto de Spark en Python. Estos conflictos se pueden manifestar de varias maneras, incluidos errores de "flujo dañado" o "no se encontró la clase". Si tiene instalado PySpark en el entorno de Python, asegúrese de desinstalarlo antes de instalar databricks-connect. Una vez que desinstale PySpark, no olvide volver a instalar completamente el paquete de 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
faltante o en conflicto para los archivos binarios
Es posible que la ruta de acceso PATH esté configurada para que comandos como spark-shell
ejecuten otro archivo binario instalado previamente en lugar del que se incluye con Databricks Connect. Debe asegurarse de que los archivos binarios de Databricks Connect tengan prioridad, o bien quitar los instalados previamente.
Si no puede ejecutar comandos como spark-shell
, también es posible que pip3 install
no haya configurado automáticamente la ruta de acceso PATH y deberá agregar el directorio bin
de instalación a la ruta de acceso PATH de manera manual. Es posible utilizar Databricks Connect con los IDE aunque no esté configurado.
La sintaxis del nombre de archivo, el nombre del directorio o la etiqueta de volumen no es correcta en Windows
Si utiliza Databricks Connect en Windows y ve lo siguiente:
The filename, directory name, or volume label syntax is incorrect.
Databricks Connect se instaló en un directorio con un espacio en la ruta de acceso. Una solución alternativa es hacer la instalación en una ruta de acceso de directorio sin espacios o configurar la ruta de acceso con el formato de nombre corto.