Rozwiązywanie problemów z programem Databricks Connect dla języka Python
Uwaga
W tym artykule opisano usługę Databricks Connect dla środowiska Databricks Runtime 13.3 LTS lub nowszego.
Ten artykuł zawiera informacje dotyczące rozwiązywania problemów z programem Databricks Connect dla języka Python. Usługa Databricks Connect umożliwia łączenie popularnych środowisk IDE, serwerów notesów i aplikacji niestandardowych z klastrami usługi Azure Databricks. Zobacz Co to jest usługa Databricks Connect?. Aby zapoznać się z wersją tego artykułu, zobacz Troubleshooting Databricks Connect for Scala (Rozwiązywanie problemów z programem Databricks Connect dla języka Scala).
Błąd: StatusCode.UNAVAILABLE, StatusCode.UNKNOWN, rozpoznawanie nazw DNS nie powiodło się lub Odebrano nagłówek HTTP2 ze stanem 500
Problem: Podczas próby uruchomienia kodu za pomocą usługi Databricks Connect są wyświetlane komunikaty o błędach zawierające ciągi, takie jak StatusCode.UNAVAILABLE
, StatusCode.UNKNOWN
, DNS resolution failed
lub Received http2 header with status: 500
.
Możliwa przyczyna: usługa Databricks Connect nie może nawiązać połączenia z klastrem.
Zalecane rozwiązania:
- Upewnij się, że nazwa wystąpienia obszaru roboczego jest poprawna. Jeśli używasz zmiennych środowiskowych, sprawdź, czy powiązana zmienna środowiskowa jest dostępna i poprawna na lokalnym komputerze deweloperskim.
- Upewnij się, że identyfikator klastra jest poprawny. Jeśli używasz zmiennych środowiskowych, sprawdź, czy powiązana zmienna środowiskowa jest dostępna i poprawna na lokalnym komputerze deweloperskim.
- Upewnij się, że klaster ma poprawną niestandardową wersję klastra zgodną z usługą Databricks Connect.
Niezgodność wersji języka Python
Sprawdź używaną lokalnie wersję języka Python ma co najmniej tę samą wersję pomocniczą co wersja klastra (na przykład 3.10.11
w porównaniu z 3.10.10
wersją jest OK, 3.10
a 3.9
nie).
Jeśli masz zainstalowane lokalnie wiele wersji języka Python, upewnij się, że program Databricks Connect używa odpowiedniej wersji, ustawiając zmienną PYSPARK_PYTHON
środowiskową (na przykład PYSPARK_PYTHON=python3
).
Instalacje środowiska PySpark powodują konflikt
Pakiet databricks-connect
powoduje konflikt z narzędziem PySpark. Zainstalowanie obu tych elementów spowoduje błędy podczas inicjowania kontekstu platformy Spark w języku Python. Może to manifestować się na kilka sposobów, w tym błędy "stream uszkodzone" lub "nie znaleziono klasy". Jeśli masz zainstalowany program PySpark w środowisku języka Python, upewnij się, że został on odinstalowany przed zainstalowaniem usługi databricks-connect. Po odinstalowaniu programu PySpark upewnij się, że w pełni zainstaluj pakiet 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.
Konflikt lub brak PATH
wpisu dla plików binarnych
Istnieje możliwość, że ścieżka jest skonfigurowana tak, aby polecenia, takie jak spark-shell
, były uruchamiane inne wcześniej zainstalowane pliki binarne zamiast tej dostarczonej z usługą Databricks Connect. Upewnij się, że pliki binarne usługi Databricks Connect mają pierwszeństwo lub usuń zainstalowane wcześniej pliki binarne.
Jeśli nie możesz uruchamiać poleceń, takich jak spark-shell
, możliwe, że ścieżka nie została automatycznie skonfigurowana pip3 install
i musisz ręcznie dodać dir instalacji bin
do ścieżki. Możesz użyć usługi Databricks Connect z środowiskami IDE, nawet jeśli nie jest to skonfigurowane.
Nazwa pliku, nazwa katalogu lub składnia etykiety woluminu jest niepoprawna w systemie Windows
Jeśli używasz usługi Databricks Connect w systemie Windows i zobacz:
The filename, directory name, or volume label syntax is incorrect.
Program Databricks Connect został zainstalowany w katalogu ze spacją w ścieżce. Można to obejść, instalując ścieżkę katalogu bez spacji lub konfigurując ścieżkę przy użyciu krótkiego formularza nazwy.