2016-04-11 3 views
0

私はpysparkジョブ(spark 1.6.1、python 2.7)を持っています。基本的な構造は次のとおりです。私のspark_job.pyPySparkを使用したModule ImportError

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 

私が持っている:

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からパッケージを作成することもできます。

希望すると便利です。私は前にこの問題を抱えていましたが、解決することができます。

関連する問題