如何将python包传递给spark job并用参数从包调用主文件

2024-09-24 06:35:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我的python代码具有如下结构:

Project1
--src
----util.py
----job1.py
----job2.py
--config
----config1.json
----config2.json

我想在spark中运行这个job1,但是我不能调用job1.py,因为它依赖于其他文件,比如util.py和job2.py以及配置文件,因此我需要将完整的包作为输入传递给spark。

我试着运行spark-submit job1.py,但由于job2.py和util.py等依赖项对执行者不可用,因此运行失败。

基于spark文档,我明白——文件是一个选项,但是它通过将所有文件名传递给spark submit来工作,如果将来代码库中的文件数量增加,这看起来很困难。

我看到的另一个选项是使用--archive选项传递代码zip文件,但仍然失败,因为无法引用zip中的文件。

那么,有谁能建议其他方法来运行这样的代码库在火花?


Tags: 文件代码pysrcconfigjson选项util
1条回答
网友
1楼 · 发布于 2024-09-24 06:35:55

事实上,我们公司也犯了同样的错误。这个问题似乎与Cosmos DB与Mongo不完全兼容有关。如果您想使用Cosmos DB作为文件存储,这似乎尤其正确

我们多次遇到此问题,但没有找到解决此问题的任何方法。幸运的是,我们很早就遇到了这个问题

最后,我们不得不吞下药丸,将文件存储移到minio

相关问题 更多 >