Udostępnij za pośrednictwem


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 failedlub 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.