重用Amazon Elastic MapReduce实例

时间:2011-07-30 00:27:21

标签: amazon-ec2 mapreduce elastic-map-reduce

我使用Amazon Elastic MapReduce尝试了一个简单的Map / Reduce任务,只需3分钟即可完成任务。是否可以重用同一个实例来运行另一个任务。

即使我刚刚使用该实例3分钟,亚马逊将收取1 hr的费用,所以我想使用余额57分钟来执行其他几项任务。

3 个答案:

答案 0 :(得分:14)

答案是肯定的。

以下是使用命令行客户端执行此操作的方法:

当您创建实例时,会传递 - alive 标记,这会告诉emr在您的作业运行后保留群集。

然后,您可以向群集提交更多任务:

elastic-mapreduce --jobflow <job-id> --stream --input <s3dir> --output <s3dir> --mapper <script1> --reducer  <script2>

要稍后终止群集,只需运行:

elastic-mapreduce <jobid> --terminate

尝试运行elastic-mapreduce --help以查看可以运行的所有命令。

如果您没有命令行客户端get it here

答案 1 :(得分:2)

使用:

elastic-mapreduce --jobflow job-id \
    --jar s3n://some-path/x.jar \
    --step-name "New step name" \
    --args ...

您还可以向群集添加非流式处理步骤。 (这样你就不必亲自尝试了;-))

答案 2 :(得分:0)

http://aws.amazon.com/elasticmapreduce/faqs/#dev-6

  问:我可以运行持续的工作流程吗?是。 Amazon Elastic MapReduce作业   以-alive标志启动的流程将一直持续到   明确终止。这允许客户向作业添加步骤   按需流动。您可能希望使用它来调试作业流逻辑   无需反复等待工作流程启动。你也可以   使用持久作业流来运行长时间运行的数据仓库   簇。这可以与数据仓库和分析结合使用   在Hadoop之上运行的包,例如Hive和Pig。