Databricks(Spark):.egg依赖项没有自动安装?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Databricks(Spark):.egg依赖项没有自动安装?相关的知识,希望对你有一定的参考价值。

我有一个本地创建的.egg包依赖于boto==2.38.0.我使用setuptools来创建构建分发。一切都在我自己的本地环境中工作,因为它正确地从boto获取PiP。但是在databricks上,当我将库附加到集群时,它不会自动获取依赖项。

我真的很挣扎了几天试图在databricks上加载时自动安装依赖项,我使用setuptools; 'install_requires=['boto==2.38.0']'是相关领域。

当我在boto服务器上直接从PyPi安装databricks时(所以不依赖于install_requires字段才能正常工作)然后调用我自己的.egg,它确实认识到boto是一个包,但它不识别任何模块(因为它不是我自己导入的.egg的命名空间???)。所以我不能让我的.egg工作。如果这个问题持续存在而没有任何解决方案,我认为这对databricks用户来说是一个非常大的问题。当然应该有一个解决方案......

谢谢!

答案

一般情况下,如果应用程序的依赖项不同且没有统一的语言支持,则它们将无法正常工作。 Databrick docs解释说

如果库支持Python 2和3,则Databricks将安装正确的版本。如果库不支持Python 3,则库附件将失败并显示错误。

在这种情况下,当您将库附加到群集时,它不会自动获取依赖项。

以上是关于Databricks(Spark):.egg依赖项没有自动安装?的主要内容,如果未能解决你的问题,请参考以下文章

覆盖 Databricks 依赖项

提取 Databricks 集群依赖项并将它们添加到 build.sbt 以在 Azure DevOps 中构建 jar

安装 BlueJeans 会议 API 客户端时出现“pipenv 需要 #egg 片段以获取版本控制的依赖项”警告

Spark 回归仅适用于一项功能

Spark集群 Python Package管理

在 IntelliJ 上添加对远程 spark 的依赖