2011-07-30 40 views
11

我試過了一個簡單的使用Amazon Elastic MapReduce的Map/Reduce任務,並且只花了3分鐘完成任務。是否有可能重新使用相同的實例來運行其他任務。重複使用Amazon Elastic MapReduce實例

儘管我剛剛使用了實例3分鐘亞馬遜將收取1 hr,所以我想用餘額57分鐘來運行其他幾項任務。

+0

我們是否有助於回答你的問題? –

回答

14

答案是肯定的。

這裏是使用命令行客戶端是你怎麼做:

當你創建一個實例通過--alive標誌,這告訴你的電子病歷工作運行後保持羣集的周圍。

然後你就可以提交更多的任務到集羣:

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

以後要終止集羣,只需運行:

elastic-mapreduce <jobid> --terminate 

嘗試運行彈性MapReduce的--help查看所有的命令你可以跑步。

如果您沒有命令行客戶端,get it here

+0

對於活動集羣沒有255個步驟的限制嗎?所以您可以重複使用255次,因爲每次運行作業需要添加「步驟」?很長一段時間,因爲我看着這個,所以請讓我知道,如果你有啓發更新。 – marko

+0

如何使用aws java sdk –

+1

@marko - 256個步驟的限制已被刪除:http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/AddMoreThan256Steps.html –

0

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

問:我可以運行一個持久的工作流?是。使用-alive標誌啓動的Amazon Elastic MapReduce作業 將繼續,直到明確終止 。這允許客戶將步驟添加到按需流量作業 。您可能希望使用它來調試您的作業流程邏輯 ,而無需重複等待作業流程啓動。您也可以使用持久性作業流程 運行長期運行的數據倉庫 羣集。這可以與在Hadoop之上運行的數據倉庫和分析軟件 相結合,例如Hive和Pig。

2

使用:

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

,你還可以添加非流步驟,將集羣。 (只是所以你不必親自嘗試一下;-))

相關問題