Risoluzione dei problemi di Databricks Connect per Scala
Nota
Questo articolo illustra Databricks Connect per Databricks Runtime 13.3 LTS e versioni successive.
Questo articolo fornisce informazioni sulla risoluzione dei problemi per Databricks Connect per Scala. Databricks Connect consente di connettere gli IDE, i server notebook e le applicazioni personalizzate più diffusi ai cluster Azure Databricks. Vedere Che cos'è Databricks Connect?. Per la versione Python di questo articolo, vedere Risoluzione dei problemi con Databricks Connect per Python.
Errore: StatusCode.UNAVAILABLE, StatusCode.UNKNOWN, risoluzione DNS non riuscita o header HTTP/2 ricevuto con stato 500
problema: quando si tenta di eseguire il codice con Databricks Connect, viene visualizzato un messaggio di errore contenente stringhe come StatusCode.UNAVAILABLE
, StatusCode.UNKNOWN
, DNS resolution failed
o Received http2 header with status: 500
.
Causa: Databricks Connect non riesce a raggiungere il cluster.
Soluzioni:
- Verifica che il nome dell'istanza dell'area di lavoro sia corretto. Se si usano variabili di ambiente, verificare che la variabile di ambiente correlata sia disponibile e corretta nel computer di sviluppo locale.
- Verificare che l'ID cluster sia corretto. Se si usano variabili di ambiente, verificare che la variabile di ambiente correlata sia disponibile e corretta nel computer di sviluppo locale.
- Assicurati che il tuo cluster sia compatibile con la versione corretta del cluster personalizzato per Databricks Connect.
La sintassi del nome file, del nome della directory o dell'etichetta del volume non è corretta in Windows
Problema: si utilizza Databricks Connect in Windows e vedi:
The filename, directory name, or volume label syntax is incorrect.
Causa: Databricks Connect è stato installato in una directory con uno spazio nel percorso.
Soluzione: puoi risolvere questo problema installando in un percorso di directory senza spazi o configurando il percorso usando il formato nome breve.
Errore: Impossibile inizializzare MemoryUtil
Problema: quando si tenta di compilare un DatabricksSession
, viene restituito un errore Failed to initialize MemoryUtil
.
Causa: Apache Arrow è una dipendenza del client Databricks Connect e sta provando ad accedere a un metodo Java privato tramite reflection, che è bloccato per impostazione predefinita in Java 17 a causa di considerazioni sulla sicurezza.
Soluzione:
Impostare il campo JVM seguente prima dell'inizializzazione di JVM:
--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED
Per ulteriori informazioni, vedere Compatibilità Java di Apache Arrow.
Suggerimento
Per impostare le opzioni Java in IntelliJ, vedere Configurazione di esecuzione/debug di IntelliJ.