重用Amazon Elastic MapReduce实例



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

尽管我刚刚使用了实例3分钟,但Amazon将对1 hr收费,因此我想使用剩余的57分钟来运行其他几个任务。

答案是肯定的。

下面是使用命令行客户端的方法:

当您创建一个实例时,传递——alive标志,这告诉emr在您的作业运行后保持集群。

然后你可以向集群提交更多的任务:

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

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

elastic-mapreduce <jobid> --terminate

试着运行elastic-mapreduce——help来查看你可以运行的所有命令。

如果您没有命令行客户端,请从这里获取。

Using:

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。

相关内容

  • 没有找到相关文章

最新更新