2016-04-11 124 views
0

我有一個pyspark工作(spark 1.6.1,python 2.7)。其基本結構是:使用PySpark模塊導入錯誤

spark_jobs/ 
    __init__.py 
    luigi_workflow.py 
    my_pyspark/ 
    __init__.py 
    __main__.py 
    spark_job.py 
    stuff/ 
     __init__.py 
     module1.py 
     module2.py 
    analytics/ 
     __init__.py 
     analytics.py 

在我spark_job.py我:

from dir1.module1 import func1 
from dir1.module2 import func2 
from analytics.analytics import some_analytics_func 
... 
func1(...) 
func2(...) 
some_analytics_func(...) 
... 

當我啓動火花的工作,func1func2執行完美,但後來我得到:

ImportError: No module named analytics.analytics

這一直讓我絕對瘋了。任何幫助,將不勝感激。

注:我用的包裝推出圍繞​​並指定與python -m spark_jobs.my_pyspark

回答

0

我不明白的地方dir1是從哪裏來的路徑?不應該是from my_pyspark.stuff.module1 import func1?你有沒有在from my_pyspark.analytics.analytics import some_analytics_func之前試過這個?由於您使用的是Luigi,因此您也可以嘗試通過setup.py來構建軟件包。

希望這會有所幫助!我之前有過這個問題,但可以解決。