Ř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 oblíbená prostředí IDE, servery poznámkových bloků a vlastní aplikace ke clusterům Azure Databricks. Viz Databricks Connect. Informace o Python verzi tohoto článku najdete v tématu Troubleshooting 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 failednebo 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.

Chyby při připojování k serveru Apache Spark

Problém:

Při pokusu o připojení k serveru open source Apache Sparku (například místně spuštěný server Apache Spark 3.5.x Spark Connect na sc://localhost), dojde k chybám, jako je například nenalezena třída, neshoda chování rozhraní API nebo selhání serializace.

Příčina:

Databricks Connect je postavená na databricks Runtime, která má různé závislosti než open source Apache Spark. Konkrétně databricks Connect 15.4 a 16.4 nejsou kompatibilní s Apache Sparkem 3.5.x, protože používají jinou verzi json4s knihovny.

Řešení:

Místo open source serveru Apache Spark použijte cluster Databricks nebo bezserverové výpočetní prostředky. Viz Konfigurace výpočetních prostředků pro Databricks Connect.

Syntaxe názvu souboru, názvu adresáře nebo popisku svazku není ve Windows správná.

Issue: Používáte Službu Databricks Connect na Windows a vidíte následující:

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í DatabricksSessionvrátí chybu Failed to initialize MemoryUtil.

Cause: Apache Arrow je závislost klienta Databricks Connect a pokouší se získat přístup k soukromé metodě v Javě pomocí reflexe, což je ve výchozím nastavení v Java 17 blokováno z důvodů zabezpečení.

Ř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 najdete v tématu Apache Arrow Java Compatibility.

Spropitné

Informace o nastavení možností Java v IntelliJ najdete v tématu Konfigurace spuštění/laděníIntelliJ.