Solución de problemas de Databricks Connect para Scala
Nota
En este artículo se 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 Scala. Databricks Connect permite conectar IDEs populares, servidores de notebooks y aplicaciones personalizadas a clústeres de Azure Databricks. Consulte ¿Qué es Databricks Connect?. Para obtener la versión de Python de este artículo, consulte Solución de problemas de Databricks Connect para Python.
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, se obtiene un mensaje de error que contiene cadenas como StatusCode.UNAVAILABLE
, StatusCode.UNKNOWN
, DNS resolution failed
o Received http2 header with status: 500
.
Causa: Databricks Connect no puede acceder al clúster.
Soluciones:
- Asegúrese de que el nombre de la instancia del área de trabajo sea correcto. Si usa variables de entorno, compruebe que la variable de entorno relacionada está disponible y correcta en la máquina de desarrollo local.
- Asegúrese de que el identificador del clúster sea correcto. Si usa variables de entorno, compruebe que la variable de entorno relacionada está disponible y correcta en la máquina de desarrollo local.
- Compruebe que el clúster tiene la versión de clúster personalizada correcta compatible con Databricks Connect.
La sintaxis de nombre de archivo, nombre de directorio o etiqueta de volumen es incorrecta en Windows
Problema: Estás usando Databricks Connect en Windows y ves:
The filename, directory name, or volume label syntax is incorrect.
Causa: Databricks Connect se instaló en un directorio con un espacio en la ruta de acceso.
Solución: puede solucionarlo instalando en una ruta de acceso de directorio sin espacios o configurando la ruta de acceso mediante el formato de nombre corto.
Error: No se pudo inicializar MemoryUtil
Problema: al intentar compilar un DatabricksSession
, devuelve un error Failed to initialize MemoryUtil
.
Causa: Apache Arrow es una dependencia del cliente de Databricks Connect y está intentando acceder a un método java privado mediante reflexión, que está bloqueado de forma predeterminada en Java 17 debido a consideraciones de seguridad.
Solución:
Establezca el siguiente campo JVM antes de la inicialización de JVM:
--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED
Para obtener más información, consulte Compatibilidad de Java de Apache Arrow.