我尝试过使用简单的Map / Reduce任务 Amazon Elastic MapReduce
只需3分钟即可完成任务。是否可以重复使用同一个实例来运行另一个任务。
即使我刚刚使用该实例3分钟亚马逊将收取费用 1 hr
,所以我想使用余额57分钟来运行其他几项任务。
我尝试过使用简单的Map / Reduce任务 Amazon Elastic MapReduce
只需3分钟即可完成任务。是否可以重复使用同一个实例来运行另一个任务。
即使我刚刚使用该实例3分钟亚马逊将收取费用 1 hr
,所以我想使用余额57分钟来运行其他几项任务。
答案是肯定的。
以下是使用命令行客户端执行此操作的方法:
当你创建一个实例传递时 - 活 标志,这告诉emr在你的工作运行后保持集群。
然后,您可以向群集提交更多任务:
elastic-mapreduce --jobflow <job-id> --stream --input <s3dir> --output <s3dir> --mapper <script1> --reducer <script2>
要稍后终止集群,只需运行:
elastic-mapreduce <jobid> --terminate
尝试运行elastic-mapreduce --help来查看可以运行的所有命令。
如果您没有命令行客户端, 得到它。
使用:
elastic-mapreduce --jobflow job-id \
--jar s3n://some-path/x.jar \
--step-name "New step name" \
--args ...
您还可以向群集添加非流式步骤。 (只是这样你不必自己尝试;-))
http://aws.amazon.com/elasticmapreduce/faqs/#dev-6
问:我可以运行持久的工作流程吗?是。 Amazon Elastic MapReduce作业 以-alive标志启动的流程将一直持续到 明确终止。这允许客户向作业添加步骤 按需流动。您可能希望使用它来调试作业流逻辑 无需反复等待工作流程启动。你也可以 使用持久作业流来运行长时间运行的数据仓库 簇。这可以与数据仓库和分析结合使用 在Hadoop之上运行的包,例如Hive和Pig。