2011-07-30 30 views
11

Amazon Elastic MapReduceを使用して簡単なマップ/縮小タスクを試してみましたが、タスクを完了するのにわずか3分かかりました。別のタスクを実行するために同じインスタンスを再利用することは可能ですか?Amazon Elastic MapReduceインスタンスの再利用

私はちょうど3分のインスタンスを使用していますが、アマゾンは1 hrを請求するので、残りのいくつかのタスクを実行するために残高57分を使用します。

+0

あなたの質問にお答えしましたか? –

答えて

14

答えははいです。ここ

は、あなたがそれをコマンドラインクライアントを使用して行う方法は次のとおりです。

インスタンスが--aliveフラグを渡す作成する場合、これはあなたのジョブが実行された後の周りのクラスタを維持するためにEMR伝えます。

その後クラスタに複数のタスクを提出することができます。

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

Q:私は、永続的なジョブフローを実行することはできますか?はい。 Amazon Elastic MapReduceジョブ -aliveフラグで開始されたフローは、 が明示的に終了するまで続きます。これにより、顧客はジョブにステップを追加することができます オンデマンドでフロー。ジョブフローの起動を何度も待つことなく、ジョブフローロジック をデバッグする場合に使用します。 永続ジョブフローを使用して長期実行のデータウェアハウス クラスタを実行することもできます。これはHiveやPigなどのHadoopの上で実行されるデータウェアハウスと分析 パッケージと組み合わせることができます。

2

使用:

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

また、あなたのクラスタに非ストリーミングステップを追加することができます。 (ちょうど自分自身で試してみる必要はありません;-))

関連する問題