This previous question addressed如何为hadoop流媒体导入nltk等模块。在
概述的步骤包括:
zip -r nltkandyaml.zip nltk yaml
mv ntlkandyaml.zip /path/to/where/your/mapper/will/be/nltkandyaml.mod
现在可以导入nltk模块以在Python脚本中使用: 导入zipimport
^{pr2}$我有一个作业要在Amazon's EMR上运行,我不确定压缩文件放在哪里。我需要在bootstrapping选项下创建引导脚本还是应该将焦油gz在S3中,然后在额外的参数中?我对这一切都很陌生,希望能有一个能带我走过这一过程的答案。在
您有以下选项:
创建引导操作脚本并将其放在S3上。这个脚本将下载您喜欢的任何格式的模块,并将其放在您的mapper/reducer可以访问的地方。要找到确切的文件存放位置,请启动集群,使其在完成后不会关闭,在那里ssh并检查目录结构。
使用mrjob启动作业流。当用mrjob启动job时,可以指定引导程序_python_包哪个mrjob将通过解压缩自动安装。焦油gz跑设置.py安装。
http://packages.python.org/mrjob/configs-runners.html
我更喜欢选择2,因为mrjob在Python中开发MapReduce作业方面也有很大帮助。特别是它允许在本地(有或没有Hadoop)以及EMR上运行作业,这简化了调试。在
相关问题 更多 >
编程相关推荐