針對適用於 Scala 的 Databricks Connect 進行疑難解答
注意
本文涵蓋適用於 Databricks Runtime 13.3 LTS 以上版本的 Databricks Connect。
本文提供適用於 Scala 的 Databricks Connect 疑難解答資訊。 Databricks Connect 可讓您將熱門的 IDE、Notebook 伺服器和自定義應用程式連線到 Azure Databricks 叢集。 請參閱 什麼是 Databricks Connect?。 如需本文的 Python 版本,請參閱 Databricks Connect 的 Python 疑難排解 。
錯誤:StatusCode.UNAVAILABLE、StatusCode.UNKNOWN、DNS 解析失敗,或狀態為 500 的 Received HTTP2 標頭
問題:當您嘗試使用 Databricks Connect 執行程式代碼時,會收到包含 StatusCode.UNAVAILABLE
、StatusCode.UNKNOWN
、DNS resolution failed
或 Received http2 header with status: 500
等字串的錯誤訊息。
原因:Databricks Connect 無法連線到您的叢集。
解決方案:
- 請檢查以確定您的工作區實例名稱正確無誤。 如果您使用環境變數,請檢查以確定本機開發計算機上有可用的相關環境變數並正確無誤。
- 請檢查以確定您的叢集標識碼正確無誤。 如果您使用環境變數,請檢查以確定本機開發計算機上有可用的相關環境變數並正確無誤。
- 請檢查以確定您的叢集具有與 Databricks Connect 相容的正確自定義叢集版本。
Windows 上的檔名、目錄名稱或磁碟區標籤法不正確
問題:您在 Windows 上使用 Databricks Connect,請參閱:
The filename, directory name, or volume label syntax is incorrect.
原因:Databricks Connect 已安裝到路徑中包含 空格的目錄,。
解決方案:您可以藉由安裝至不含空格的目錄路徑,或使用 簡短名稱格式設定路徑,來解決此問題。
錯誤:無法初始化 MemoryUtil
問題:當您嘗試建置 DatabricksSession
時,它會傳回錯誤 Failed to initialize MemoryUtil
。
原因:Apache Arrow 是 Databricks Connect 用戶端的相依性,而且它正嘗試使用反映來存取私人 Java 方法,這在 Java 17 中預設會因為安全性考慮而遭到封鎖。
解決方案:
在 JVM 初始化之前設定下列 JVM 欄位:
--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED
如需詳細資訊,請參閱 Apache Arrow Java 相容性。