簡體   English   中英

運行 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM