Udostępnij za pośrednictwem


Rozwiązywanie problemów z programem Databricks Connect dla języka Scala

Notatka

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 Scala. Usługa Databricks Connect umożliwia integrację popularnych środowisk IDE, serwerów notesów oraz aplikacji niestandardowych z klastrami Azure Databricks. Zobacz Co to jest usługa Databricks Connect?. Aby zapoznać się z wersją tego artykułu w języku Python, zobacz Rozwiązywanie problemów z programem Databricks Connect dla języka Python.

Błąd: StatusCode.UNAVAILABLE, StatusCode.UNKNOWN, rozpoznawanie nazw DNS nie powiodło się lub odebrano nagłówek http2 ze statusem 500

Problem: podczas próby uruchomienia kodu za pomocą programu 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.

Przyczyna: Databricks Connect nie może połączyć się z klastrem.

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 Twój klaster ma odpowiednią niestandardową wersję klastra, która jest zgodna z usługą Databricks Connect.

Nazwa pliku, nazwa katalogu lub składnia etykiety woluminu jest niepoprawna w systemie Windows

Problem: Używasz programu Databricks Connect w systemie Windows i widzisz:

The filename, directory name, or volume label syntax is incorrect.

Przyczyna: program Databricks Connect został zainstalowany w katalogu z miejscem w ścieżce.

Solution: możesz obejść ten problem, instalując w katalogu bez spacji lub konfigurując ścieżkę przy użyciu krótkiej formy nazwy .

Błąd: nie można zainicjować narzędzia MemoryUtil

Problem: podczas próby skompilowania DatabricksSessionzwraca błąd Failed to initialize MemoryUtil.

Przyczyna: Apache Arrow jest zależnością klienta Databricks Connect i próbuje uzyskać dostęp do prywatnej metody Języka Java przy użyciu odbicia, która jest domyślnie zablokowana w środowisku Java 17 ze względu na zagadnienia dotyczące zabezpieczeń.

Solution:

Ustaw następujące pole JVM przed uruchomieniem maszyny JVM.

--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED

Aby uzyskać więcej informacji, zobacz sekcję zgodność języka Java z Apache Arrow.

Wskazówka

Aby ustawić opcje Javy w środowisku IntelliJ, zobacz konfigurację uruchamiania/debugowania IntelliJ .