2012-07-31 67 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