DATABRICKS 连接 6.4 无法再与服务器通信

DATABRICKS connect 6.4 not able to communicate with server anymore

我正在 运行宁 Pycharm 在我的 MacBook 上。

客户端设置: Python 解释器 -> Python 3.7 (dtabricks-connect-6.4)

集群设置: Databricks 运行时版本 -> 6.4(包括 Apache Spark 2.4.5、Scala 2.11)

几个月来它运行良好,但突然间,在没有进行任何更新的情况下,我无法再 运行 我的 python 来自 Pycharm 的脚本针对 databricks 集群。 错误是...

Caused by: `java.lang.IllegalArgumentException: The cluster is running server version `dbr-6.4` but this client only supports Set(dbr-5.5)....`

我重新启动了 Pycharm,我退缩了,为了解释器,我重新启动了集群,甚至重新启动了我的 MacBook,但它没有帮助。错误消息只是错误的,因为集群和客户端都使用相同的版本。我可以看到,当我执行我的 python 脚本时,集群正在启动但最后失败了。

pyenv activate databricks-connect-6-4

pip freeze

Cython==0.29.21
databricks-connect==6.4.0
numpy==1.19.2
pandas==1.0.1
py4j==0.10.7
pyarrow==0.13.0
pycountry==20.7.3
python-dateutil==2.8.1
pytz==2020.1
six==1.15.0

看起来它是由服务器端的一些内部更改引起的,这导致 databricks-connect 无法正常工作。您始终可以通过将环境变量 DEBUG_IGNORE_VERSION_MISMATCH 设置为值 1(在执行 databricks-connect test 之前在控制台中 export DEBUG_IGNORE_VERSION_MISMATCH=1)来禁用此检查 - 您也可以在 PyCharm.

更新:应该由刚发布的 Databricks Connect 6.4.2 修复。

感谢您提出这个问题。 Databricks-Connect 团队已经确认了这个问题,我们正在开发补丁来解决这个问题。会及时向大家发布。同时,您可以使用 Alex 指出的 DEBUG_IGNORE_VERSION_MISMATCH

更新:已发布兼容的 db-connect 客户端以解决此问题:版本 6.4.2(https://pypi.org/project/databricks-connect/6.4.2/,安装方式:pip install databricks-connect==6.4.2).