分享方式:


針對適用於 Python 的 Databricks Connect 進行疑難解答

注意

本文涵蓋 Databricks Runtime 13.3 LTS 和更新版本適用的 Databricks Connect。

本文提供適用於 Python 的 Databricks Connect 疑難解答資訊。 Databricks Connect 可讓您將熱門的 IDE、Notebook 伺服器和自定義應用程式連線到 Azure Databricks 叢集。 請參閱 什麼是 Databricks Connect?。 如需本文的 Scala 版本,請參閱 針對 Scala 的 Databricks Connect 進行疑難解答。

錯誤:StatusCode.UNAVAILABLE、StatusCode.UNKNOWN、DNS 解析失敗,或狀態為 500 的 Received HTTP2 標頭

問題:當您嘗試使用 Databricks Connect 執行程式代碼時,會收到包含 、、 StatusCode.UNKNOWNDNS resolution failedReceived http2 header with status: 500StatusCode.UNAVAILABLE字串的錯誤訊息。

可能的原因:D atabricks Connect 無法連線到您的叢集。

建議的解決方案

  • 請檢查以確定您的工作區實例名稱正確無誤。 如果您使用環境變數,請檢查以確定本機開發計算機上有可用的相關環境變數並正確無誤。
  • 請檢查以確定您的叢集標識碼正確無誤。 如果您使用環境變數,請檢查以確定本機開發計算機上有可用的相關環境變數並正確無誤。
  • 請檢查以確定您的叢集具有與 Databricks Connect 相容的正確自定義叢集版本。

Python 版本不符

檢查您在本機使用的 Python 版本,至少具有與叢集上版本相同的次要版本(例如, 3.10.11 相較於 3.10.10 是 OK, 3.103.9 不是)。

如果您在本機安裝多個 Python 版本,請藉由設定 PYSPARK_PYTHON 環境變數 (例如, PYSPARK_PYTHON=python3) 確定 Databricks Connect 使用正確的版本。

衝突的 PySpark 安裝

套件 databricks-connect 與 PySpark 衝突。 在 Python 中初始化 Spark 內容時,安裝這兩者會造成錯誤。 這可以透過數種方式來顯示,包括「數據流損毀」或「找不到類別」錯誤。 如果您已在 Python 環境中安裝 PySpark,請確定它已卸載,再安裝 databricks-connect。 卸載 PySpark 之後,請務必完全重新安裝 Databricks Connect 套件:

pip3 uninstall pyspark
pip3 uninstall databricks-connect
pip3 install --upgrade "databricks-connect==14.0.*"  # or X.Y.* to match your specific cluster version.

二進位檔的衝突或遺漏 PATH 專案

您可以設定PATH,讓類似的 spark-shell 命令執行其他先前安裝的二進位檔,而不是 Databricks Connect 所提供的二進位檔。 您應該確定 Databricks Connect 二進位檔優先,或移除先前安裝的二進位檔。

如果您無法執行之類的 spark-shell命令,也可能是您的PATH未自動設定, pip3 install 而且您必須手動將安裝 bin dir 新增至您的PATH。 即使未設定,也可以使用 Databricks Connect 與 IDE。

Windows 上的檔名、目錄名稱或磁碟區標籤法不正確

如果您在 Windows 上使用 Databricks Connect,請參閱:

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

Databricks Connect 已安裝到目錄中, 路徑中有空格。 您可以藉由安裝至不含空格的目錄路徑,或使用簡短名稱格式來設定路徑,來解決此問題。