Databricks (Spark):.egg 依赖项未自动安装?
Posted
技术标签:
【中文标题】Databricks (Spark):.egg 依赖项未自动安装?【英文标题】:Databricks (Spark): .egg dependencies not installed automatically? 【发布时间】:2015-11-14 03:40:55 【问题描述】:我有一个本地创建的 .egg
包,它依赖于 boto==2.38.0.
我使用 setuptools 来创建构建分发。一切都在我自己的本地环境中运行,因为它正确地从PiP
获取boto
。但是在databricks
上,当我将库附加到集群时,它不会自动获取依赖项。
我真的挣扎了几天,试图在加载到数据块时自动安装依赖项,我使用 setuptools;
'install_requires=['boto==2.38.0']'
是相关字段。
当我在databricks
服务器上直接从PyPi
安装boto
(因此不依赖install_requires
字段正常工作)然后调用我自己的.egg
,它确实认识到boto
是一个包,但它不识别它的任何模块(因为它不是在我自己的 .egg 的命名空间中导入的???)。所以我无法让我的.egg
工作。如果这个问题在没有任何解决方案的情况下仍然存在,我认为这对于databricks
用户来说是一个非常大的问题。当然应该有解决方案...
谢谢!
【问题讨论】:
Loek,你确定解决方案了吗? @JohnA.Ramey 我没有,但我也没有再处理这个问题了。我记得 databricks 团队告诉我他们正在解决这个问题。我假设您目前遇到了同样的问题?很抱歉听到这个消息。当你自己找到解决方案时告诉我:) 这个问题有什么进展了吗? 【参考方案1】:如果您的应用程序的依赖项多种多样且没有统一的语言支持,则它们通常无法正常工作。 Databrick docs 解释一下
如果库同时支持 Python 2 和 3,Databricks 将安装正确的版本。如果库不支持 Python 3,则库附件将失败并出现错误。
在这种情况下,当您将库附加到集群时,它不会自动获取依赖项。
【讨论】:
以上是关于Databricks (Spark):.egg 依赖项未自动安装?的主要内容,如果未能解决你的问题,请参考以下文章
Azure Databricks:如何在 Databricks 群集中添加 Spark 配置
在 emr 集群上安装 com.databricks.spark.xml