針對適用於 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.UNKNOWN
DNS resolution failed
或 Received http2 header with status: 500
等StatusCode.UNAVAILABLE
字串的錯誤訊息。
可能的原因:D atabricks Connect 無法連線到您的叢集。
建議的解決方案:
- 請檢查以確定您的工作區實例名稱正確無誤。 如果您使用環境變數,請檢查以確定本機開發計算機上有可用的相關環境變數並正確無誤。
- 請檢查以確定您的叢集標識碼正確無誤。 如果您使用環境變數,請檢查以確定本機開發計算機上有可用的相關環境變數並正確無誤。
- 請檢查以確定您的叢集具有與 Databricks Connect 相容的正確自定義叢集版本。
Python 版本不符
檢查您在本機使用的 Python 版本,至少具有與叢集上版本相同的次要版本(例如, 3.10.11
相較於 3.10.10
是 OK, 3.10
與 3.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 已安裝到目錄中, 路徑中有空格。 您可以藉由安裝至不含空格的目錄路徑,或使用簡短名稱格式來設定路徑,來解決此問題。