为啥 Databricks Connect 测试无法在 Mac 上运行?

Posted

技术标签:

【中文标题】为啥 Databricks Connect 测试无法在 Mac 上运行?【英文标题】:Why does Databricks Connect Test not work on Mac?为什么 Databricks Connect 测试无法在 Mac 上运行? 【发布时间】:2019-07-22 16:39:02 【问题描述】:

我已经阅读了配置databricks-connect 的文档,但在运行databricks-connect test 时仍然出现以下错误

来自终端的错误

java.lang.NoSuchMethodError: org.apache.spark.internal.config.package$.STRING_REDACTION_PATTERN()Lorg/apache/spark/internal/config/ConfigEntry;
error: not found: value spark import spark.implicits._
error: not found: value spark import spark.sql
error: not found: value spark spark.range(100).reduce(_ + _)
Scala command failed to produce correct result

用于设置 Databricks Connect 的步骤

在运行时为 5.3 和 Python 2 的 Databricks 上创建了一个集群 将 Spark Config 设置为 spark.databricks.service.server.enabled true (重新启动) 使用 Pyenv 和 Python 2.7.15 创建 Python 项目 已移除 pyspark pip uninstall pyspark 已安装 Databricks Connect pip install -U databricks-connect==5.3.* 配置的databricks连接databricks-connect configure Databricks 主机:https://<account>.cloud.databricks.com Databricks 令牌:<secret_token> 集群 ID:<cluster_token> 组织 ID:<left_blank> 端口:15001

导致此错误的原因是什么,是否有可能的解决方法?

已用资源

Databricks DB Connect Databricks Connect Finally Why DB Connect doesn't work?

【问题讨论】:

【参考方案1】:

经过进一步调查,我发现另一篇 *** 帖子讨论了 Java 错误如何提示版本不匹配。我将我的 Databricks 集群运行时降级到 5.1 并通过运行更新databricks-connect

pip install -U databricks-connect==5.1.*

为了验证,我跑了:

databricks-connect test

要记住的重要事项:

    首先卸载 pyspark,因为安装 databricks-connect 将安装稍微修改过的 pyspark 版本。 databricks-connect 版本必须与集群的 DBR 版本匹配。 本地环境的 Python 版本必须与集群的 Python 版本匹配。 [例如。 2.7、3.5、3.6、3.7、...]

【讨论】:

您不需要运行 pip install pyspark。 @simon_dmorias,此解决方案无需在我的机器上安装 pyspark 即可工作。

以上是关于为啥 Databricks Connect 测试无法在 Mac 上运行?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 databricks-connect 在本地执行 Spark 代码?

Databricks Connect:无法连接到 azure 上的远程集群,命令:“databricks-connect test”停止

databricks-connect 无法连接到 Databricks 集群运行时 8.4

有没有办法在 Databricks 上测试我的 Pyspark 笔记本

使用 databricks-connect 的 Azure 数据块连接

Databricks-Connect 还返回找不到多个 python 文件作业的模块