[英]ImportError: No module named caffe while running spark-submit
[英]No module error when running spark-submit
我正在提交一个依赖于自定义模块运行的 python 文件。 我尝试提交的文件位于 project/main.py,我们的模块位于 project/modules/module1.py。 我在客户端模式下提交给 Yarn 并收到以下错误。
ModuleNotFoundError: No module named 'modules.module1'
main.py 中的导入语句:
from modules import module1.py
我试过压缩模块文件夹并将其传递给--py-files:
spark-submit --master yarn --queue OurQueue --py-files hdfs://HOST/path/to/modules.zip
--conf "spark.pyspark.driver.python=/hadoop/anaconda3.6/bin/python3"
--conf "spark.pyspark.python=/hadoop/anaconda3.6/bin/python3"
main.py
假设你有一个 zip 文件
zip -r modules
我认为您缺少将此文件附加到 spark 上下文,您可以在脚本中使用 addPyFile() 函数作为
sc.addPyFile("modules.zip")
另外,不要忘记在您的目录(modules.zip)的根级别制作空的__init__.py
文件,如modules/__init__.py
)
现在要导入,我想您可以将其导入为
from modules.module1 import *
或者
from modules.module1 import module1
更新,现在运行 spark-submit 命令
spark-submit --master yarn --queue OurQueue --py-files modules.zip
--conf "spark.pyspark.driver.python=/hadoop/anaconda3.6/bin/python3"
--conf "spark.pyspark.python=/hadoop/anaconda3.6/bin/python3"
main.py
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.