2012-07-31 66 views
0

簡單的問題:我有一個模塊headers.py,它在我的主MRJob腳本中定義了一些我需要的變量。我應該能夠運行與在EMR上的MRJob中導入模塊

python MRMyJob -r emr --file=headers.py s3://input/data/path 

,然後在我的MRJob腳本(MRMyJob)的工作,下面應該工作:

from headers import header1, header2, header3 

,對嗎?從mrjob --help頁面:「--file = UPLOAD_FILES 將文件複製到此腳本的工作目錄中,您可以使用--file多次。」 「。

當我嘗試導入它時,仍然收到「no module named headers」。

回答

2

headers.py顯然沒有放在您的遠程PYTHONPATH。請參閱the docs瞭解如何將其他模塊添加到羣集中;你必須先將它們放入tarball。

+1

真棒,它的工作。謝謝。但仍然不確定--file不起作用。不應該python能夠從cwd導入,即使它不在PYTHONPATH上? – 2012-07-31 15:14:00