Řešení potíží s Databricks Connect pro Scala
Poznámka
Tento článek se zabývá Databricks Connect pro Databricks Runtime 13.3 LTS a novější verze.
Tento článek obsahuje informace o řešení potíží pro Databricks Connect pro Scala. Databricks Connect umožňuje připojit k clusterům Azure Databricks populární prostředí IDE, notebookové servery a vlastní aplikace. Podívejte se na Co je Databricks Connect?. Informace o verzi Pythonu tohoto článku najdete v tématu Řešení potíží s Databricks Connect pro Python.
Chyba: StatusCode.UNAVAILABLE, StatusCode.UNKNOWN, selhání rozlišení DNS nebo přijatá hlavička http2 se stavem 500
Problém: Při pokusu o spuštění kódu pomocí databricks Connect se zobrazí chybové zprávy obsahující řetězce, jako jsou StatusCode.UNAVAILABLE
, StatusCode.UNKNOWN
, DNS resolution failed
nebo Received http2 header with status: 500
.
příčina: Databricks Connect se nemůže spojit s vaším clusterem.
Řešení:
- Zkontrolujte, jestli je název instance pracovního prostoru správný. Pokud používáte proměnné prostředí, zkontrolujte, jestli je související proměnná prostředí dostupná a správná na místním vývojovém počítači.
- Zkontrolujte, jestli je ID clusteru správné. Pokud používáte proměnné prostředí, zkontrolujte, jestli je související proměnná prostředí dostupná a správná na místním vývojovém počítači.
- Zkontrolujte, jestli má váš cluster správnou vlastní verzi clusteru, která je kompatibilní s Databricks Connect.
Syntaxe názvu souboru, názvu adresáře nebo popisku svazku ve Windows je nesprávná.
Problém: Používáte Databricks Connect ve Windows a podívejte se na:
The filename, directory name, or volume label syntax is incorrect.
Příčina: Databricks Connect byl nainstalován do adresáře s mezerou v cestě.
Řešení: Můžete to obejít tím, že buď nainstalujete do adresáře, jehož cesta neobsahuje mezery, nebo nakonfigurujete svou cestu pomocí formuláře krátkého názvu .
Chyba: Inicializace nástroje MemoryUtil se nezdařila.
Problém: Při pokusu o sestavení DatabricksSession
vrátí chybu Failed to initialize MemoryUtil
.
Příčina: Apache Arrow je závislost klienta Databricks Connect a snaží se získat přístup k privátní metodě Java pomocí reflexe, která je ve výchozím nastavení blokovaná v Javě 17 z důvodu bezpečnostních aspektů.
Řešení:
Před inicializací prostředí JVM nastavte následující pole JVM:
--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED
Další informace naleznete viz Kompatibilita Apache Arrow Java.
Spropitné
Informace o nastavení možností Javy v IntelliJ najdete v tématu Konfigurace spuštění/ladění IntelliJ.