Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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 Python. Databricks Connect consente di connettere gli IDE, i server notebook e le applicazioni personalizzate più diffusi ai cluster Azure Databricks. Consultare Cos’è Databricks Connect?. Per la versione scala di questo articolo, vedere Risoluzione dei problemi di Databricks Connect per Scala.
Errore: StatusCode.UNAVAILABLE, StatusCode.UNKNOWN, risoluzione DNS non riuscita o Intestazione http2 ricevuta 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
.
Possibile causa: Databricks Connect non riesce a raggiungere il cluster.
Soluzioni consigliate:
- Verificare 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.
- Assicurarsi che il cluster disponga della corretta versione personalizzata compatibile con Databricks Connect.
Versione di Python disallineata
Controllare che la versione di Python in uso localmente abbia almeno la stessa versione secondaria di quella nel cluster (ad esempio, 3.10.11
rispetto a 3.10.10
va bene, ma 3.10
rispetto a 3.9
no). Per le versioni supportate, vedere la matrice di supporto della versione.
Se sono installate più versioni di Python in locale, assicurarsi che Databricks Connect usi quello corretto impostando la PYSPARK_PYTHON
variabile di ambiente , ad esempio PYSPARK_PYTHON=python3
.
Installazioni di PySpark in conflitto
Il databricks-connect
pacchetto è in conflitto con PySpark. L'installazione di entrambi causerà errori durante l'inizializzazione del contesto Spark in Python. Questo può manifestarsi in diversi modi, tra cui errori di "flusso danneggiato" o "classe non trovata". Se è pyspark
stato installato nell'ambiente Python, assicurarsi che sia disinstallato prima di installare databricks-connect
. Dopo aver disinstallato PySpark, assicurarsi di reinstallare completamente il pacchetto 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.
Databricks Connect e PySpark si escludono a vicenda, ma è possibile usare ambienti virtuali Python per eseguire lo sviluppo remoto con databricks-connect
nell'IDE e nei test locali con pyspark
in un terminale. Tuttavia, Databricks consiglia di usare Databricks Connect per Python con calcolo serverless per tutti i test, per i motivi seguenti:
- Databricks Runtime, e quindi
databricks-connect
, contiene funzionalità non disponibili nel sistema operativopyspark
. - Testare con
databricks-connect
e serverless è più veloce rispetto a testare usandopyspark
localmente. - Le integrazioni del catalogo Unity non sono disponibili in
pyspark
, quindi non saranno applicate autorizzazioni quando si esegue il test inpyspark
locale. - Per testare end-to-end con una dipendenza esterna, ad esempio il calcolo di Databricks, i test di integrazione, anziché gli unit test, sono ottimali.
Se si sceglie di connettersi a un cluster Spark locale, è possibile specificare una stringa di connessione usando quanto segue:
connection_string = "sc://localhost"
DatabricksSession.builder.remote(connection_string).getOrCreate()
Record conflittuale o mancante PATH
per i file binari
È possibile che il tuo PATH sia configurato in modo che i comandi come spark-shell
eseguano alcuni altri file binari precedentemente installati, piuttosto che quello fornito con Databricks Connect. È necessario assicurarsi che i file binari di Databricks Connect abbia la precedenza o rimuovere quelli installati in precedenza.
Se non è possibile eseguire comandi come spark-shell
, è anche possibile che PATH non sia stato configurato automaticamente da pip3 install
e sarà necessario aggiungere manualmente il dir di installazione bin
al percorso. È possibile usare Databricks Connect con gli IDE anche se non è configurato.
La sintassi del nome file, del nome della directory o dell'etichetta del volume non è corretta in Windows
Se si usa Databricks Connect su Windows e si vede:
The filename, directory name, or volume label syntax is incorrect.
Databricks Connect è stato installato in una directory con uno spazio nel percorso. È possibile risolvere questo problema installando in una directory con percorso senza spazi o configurando il percorso usando la forma di nome breve.