Felsökning av Databricks Connect för Scala

Not

Den här artikeln beskriver Databricks Connect för Databricks Runtime 13.3 LTS och senare.

Den här artikeln innehåller felsökningsinformation för Databricks Connect för Scala. Med Databricks Connect kan du ansluta populära IDE:er, notebook-servrar och anpassade program till Azure Databricks-kluster. Se Databricks Connect. Den Python versionen av den här artikeln finns i Felsöka Databricks Connect för Python.

Fel: StatusCode.UNAVAILABLE, StatusCode.UNKNOWN, DNS-upplösning misslyckades eller mottogs HTTP2-huvud med status 500

Problem: När du försöker köra kod med Databricks Connect får du felmeddelanden som innehåller strängar som StatusCode.UNAVAILABLE, StatusCode.UNKNOWN, DNS resolution failedeller Received http2 header with status: 500.

Orsak: Databricks Connect kan inte nå klustret.

Lösningar:

  • Kontrollera att instansen för din arbetsyta har rätt namn. Om du använder miljövariabler kontrollerar du att den relaterade miljövariabeln är tillgänglig och korrekt på den lokala utvecklingsdatorn.
  • Kontrollera att ditt kluster-ID är korrekt. Om du använder miljövariabler kontrollerar du att den relaterade miljövariabeln är tillgänglig och korrekt på den lokala utvecklingsdatorn.
  • Kontrollera att klustret har rätt anpassad klusterversion som är kompatibel med Databricks Connect.

Fel vid anslutning till Apache Spark-server

Problem:

Försök att ansluta till en open-source Apache Spark-server (till exempel en lokalt körande Apache Spark 3.5.x Spark Connect-server på sc://localhost), resulterar i fel som att klassen inte hittas, api-beteendematchningar eller serialiseringsfel.

Orsak:

Databricks Connect skapas mot Databricks Runtime, som har olika beroenden än open-source Apache Spark. I synnerhet är Databricks Connect 15.4 och 16.4 inte kompatibla med Apache Spark 3.5.x eftersom de använder en annan version av json4s biblioteket.

Lösning:

Använd ett Databricks-kluster eller en serverlös beräkning i stället för en open-source Apache Spark-server. Se Beräkningskonfiguration för Databricks Connect.

Syntaxen för filnamn, katalognamn eller volymetikett är felaktig på Windows

Issue: Du använder Databricks Connect på Windows och du ser:

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

Orsak: Databricks Connect installerades i en katalog med ett utrymme i sökvägen.

Solution: Du kan kringgå detta genom att antingen installera i en katalogsökväg utan blanksteg eller konfigurera sökvägen med hjälp av kortnamnsformuläret.

Fel: Det gick inte att initiera MemoryUtil

Problem: När du försöker skapa en DatabricksSessionreturneras ett fel Failed to initialize MemoryUtil.

Cause: Apache Arrow är beroende av Databricks Connect-klienten och försöker komma åt en privat Java-metod med reflektion, som som standard blockeras i Java 17 på grund av säkerhetsöverväganden.

Lösning:

Ange följande JVM-fält före JVM-initiering:

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

Mer information finns i Apache Arrow Java Compatibility.

Tips

Information om hur du anger Java alternativ i IntelliJ finns i IntelliJ Run/debug configuration.