Spark-submit python作业:错误'没有名为' subpackage' '

时间:2018-04-10 15:37:02

标签: python pyspark

我遇到麻烦,因为每个工人似乎都找不到我的项目包。对于每个工作人员,我收到错误No module named 'subpackage'

我有以下项目结构:

.
├── myproject
    ├── mainpackage
        ├── subpackage
            ├── __init__.py
            └── moduleA    
        ├── __init__.py
        └── __main__.py
    └── dist
        └── myproject-1.0.egg
├── README
├── setup.py
└── ...

主要逻辑显然包含在__main__.py中。所有这个项目结构都被打包到myproject-1.0.egg egg文件中。

我想将此模块作为spark工作提交。为此,我触发以下命令:

$ spark-submit \
--num-executors 10 \
--executor-cores 4 \
--conf spark.executorEnv.PYSPARK_PYTHON=/usr/bin/python \
--conf spark.yarn.appMasterEnv.PYSPARK_PYTHON=/usr/bin/python \
--py-files /absolutepath/myproject/dist/myproject-1.0.egg \
mainpackage/__main__.py \

__main.py__.py中最相关的部分是:

from subpackage.moduleA import ClassA
from pyspark import SparkContext
from pyspark import SQLContext

if __name__ == "__main__":
    ...
    sc = SparkContext.getOrCreate()
    sc.addPyFile('dist/myproject-1.0.egg')
    spark = SQLContext(sc)
    ...

如果证明不够,我可能会提供更多信息或代码。我对代码&项目结构改进。

0 个答案:

没有答案
相关问题