在 EMR 上导入 mrjob 失败

Posted

技术标签:

【中文标题】在 EMR 上导入 mrjob 失败【英文标题】:Failed to import mrjob on EMR 【发布时间】:2017-04-05 13:40:21 【问题描述】:

所以我正在尝试运行我的 mrjob,但在第一行出现错误:

ImportError: No module named mrjob.job

我正在启动以下工作:

python main.py --bootstrap-mrjob -v -r emr --emr-job-flow-id j-XXXXXXXXX ../data/data.txt

我还尝试将以下行添加到我的 mrjobs.conf 中:

bootstrap:
- sudo pip install mrjob

它不起作用。 那么如何解决呢?

编辑: 实际上,如果我从命令行创建集群,我不会收到此错误,但如果我想在已经运行的集群上运行脚本,则会失败并出现此错误。

编辑: 所以另一个区别是,在从命令行创建的集群上,我有以下步骤

  PENDING (cluster is BOOTSTRAPPING: Running bootstrap actions)

但是在已经运行的集群上我没有它

【问题讨论】:

【参考方案1】:

您需要明确传入 mrjobs.conf:-c mrjobs.conf

【讨论】:

我做了,没用 我看到了您的编辑,如果集群已经在运行,那么您不必引导 mrjob,因为它在创建集群时已经引导。

以上是关于在 EMR 上导入 mrjob 失败的主要内容,如果未能解决你的问题,请参考以下文章

在 emr 上运行 mrjob 脚本的 ssh 密钥无效

mrjob 在 Amazon EMR 5.x 上不起作用,但在 EMR4.8.3 上运行

如何在 EMR 上使用 MrJob 0.4.2 设置 IAM 角色

使用 python MRJob 在 EMR 上引导库

在 Amazon EMR 上运行 mrjob,不支持 t2.micro

Amazon EMR + mrjob:引导错误,“引导操作 1 返回非零返回码”