gpt4 book ai didi

python - hadoop 流 : importing modules on EMR

转载 作者:可可西里 更新时间:2023-11-01 14:23:12 24 4
gpt4 key购买 nike

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 脚本中使用:导入 zip 导入

importer = zipimport.zipimporter('nltkandyaml.mod')
yaml = importer.load_module('yaml')
nltk = importer.load_module('nltk')

我有一份工作想在 Amazon's EMR 上运行,而且我不确定将压缩文件放在哪里。我是否需要在引导选项下创建引导脚本,或者我应该将 tar.gz 放在 S3 中,然后放在额外的参数中?我对这一切还很陌生,非常感谢能够引导我完成整个过程的答案。

最佳答案

您有以下选择:

  1. 创建引导操作脚本并将其放在 S3 上。该脚本将以您喜欢的任何格式下载模块,并将其放置在您的映射器/缩减器可以访问的位置。要找出您必须放置文件的确切位置,请以完成后不会关闭的方式启动集群,在那里进行 ssh 并检查目录结构。

  2. 使用 mrjob 启动您的工作流程。当使用 mrjob 启 Action 业时,可以指定 bootstrap_python_packages mrjob 将通过解压缩 .tar.gz 并运行 setup.py install 自动安装。

http://packages.python.org/mrjob/configs-runners.html

我更喜欢选项 2,因为 mrjob 在用 Python 开发 MapReduce 作业方面也有很大帮助。特别是它允许在本地(使用或不使用 Hadoop)以及 EMR 上运行作业,这简化了调试。

关于python - hadoop 流 : importing modules on EMR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8129543/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com