如何在Apache Spark中配置外部包?

时间:2016-08-22 10:00:12

标签: python mongodb apache-spark pyspark

我正在构建一个使用 spark-submit 命令执行的Python脚本,以从MongoDB集合中检索数据并处理提取的数据以生成分析。我正在使用MongoDB Spark连接器使用--packages选项查询MongoDB集合。

但我需要将包配置到Apache Spark并使用spark submit命令执行Python脚本而不使用--packages选项。

1 个答案:

答案 0 :(得分:1)

来自http://spark.apache.org/docs/latest/submitting-applications.html

  

对于Python,您可以使用spark-submit的--py-files参数添加.py,.zip或.egg文件,以便与您的应用程序一起分发。如果您依赖多个Python文件,我们建议将它们打包成.zip或.egg。

所以你可以编写自己的数据加载逻辑层。但是,使用现成的包装具有许多优点。也许你可以解释为什么你不能使用--packages

修改

根据聊天情况,PO无法使用--packages的唯一原因是他的jar mongodb存储在本地(当然不在$PATH中)。在这种情况下,提供--repositories /PATH/TO/JAR应解决问题。