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 entornos de desarrollo integrados populares, servidores de cuadernos y aplicaciones personalizadas a los clusters de Azure Databricks. Consulte Databricks Connect. Para obtener la versión Python de este artículo, consulte Troubleshooting 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 failedo 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

Issue: Usa Databricks Connect en Windows y observa:

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.

Cause: Apache Arrow es una dependencia del cliente de Databricks Connect y está intentando acceder a un método de 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 Apache Arrow Java Compatibility.

Sugerencia

Para establecer opciones de Java en IntelliJ, consulte Configuración de ejecución y depuración deIntelliJ.