适用于 Python 的 Databricks Connect 故障排除

注意

本文介绍适用于 Databricks Runtime 13.3 LTS 及更高版本的 Databricks Connect。

本文介绍有关适用于 Python 的 Databricks Connect 常见问题的故障排除信息。 Databricks Connect 使你能够将常用 IDE、笔记本服务器和自定义应用程序连接到 Azure Databricks 群集。 请参阅什么是 Databricks Partner Connect?。 有关本文的 Scala 版本,请参阅适用于 Scala 的 Databricks Connect 故障排除

错误: StatusCode.UNAVAILABLE,StatusCode.UNKNOWN,DNS 解析失败,或收到状态为 500 的 http2 标头

问题:尝试使用 Databricks Connect 运行代码时,收到包含 StatusCode.UNAVAILABLEStatusCode.UNKNOWNDNS resolution failedReceived http2 header with status: 500 等字符串的错误消息。

可能的原因:Databricks Connect 无法访问你的群集。

建议的解决方法:

  • 检查并确保工作区实例名称正确。 如果使用了环境变量,请检查并确保相关环境变量在本地开发计算机上可用且正确。
  • 检查并确保群集 ID 正确。 如果使用了环境变量,请检查并确保相关环境变量在本地开发计算机上可用且正确。
  • 检查并确保群集使用与 Databricks Connect 兼容的正确自定义群集版本。

Python 版本不匹配

检查确保在本地使用的 Python 版本至少与群集上的版本具有相同的次要版本(例如,3.10.113.10.10 是正确的,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 之类的命令,也可能是 pip3 install 未自动设置 PATH,你需要将 bin dir 手动安装到 PATH 中。 即使未设置此项,也可将 Databricks Connect 与 IDE 一起使用。

Windows 上的文件名、目录名称或卷标签语法不正确

如果正在 Windows 上使用 Databricks Connect,请参阅:

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

Databricks Connect 已安装到路径中带有空格的目录中。 要解决此问题,可安装到不带空格的目录路径或使用短名称格式配置路径。