2017-01-12 19 views
0

私のラップトップにローカルクラスタを構築しています(擬似モード)。どこで別のmapreduceコマンドを実行するかローカルクラスタのようにEMR上でジョブを実行できますか?

hadoop-streaming -D mapred.output.compress=true \ 
    -D mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec \ 
    -files my_mapper.py,my_reducer.py \ 
    -mapper my_mapper.py \ 
    -reducer my_reducer.py \ 
    -input /aws/input/input_warc.txt \ 
    -output /aws/output 

私はEMRで実行する必要があります。使用できる2つのオプションがあります。一つはコンソール、もう一つはaws cliです。私は上記のように正確に実行したい。そのために、私はEMRマスターにsshすると、このコマンドを実行できるはずです。それは正しい方法ですか、この承認の欠点がありますか?

答えて

1

はい、クラスターにSSHしてジョブを実行できますが、ステップAPI(http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-steps.html)を使用して、マスターインスタンスで任意のコマンドを実行することもできます。 AWS CLI(「aws emr add-step ...」を使用するか、「aws emr create-cluster ... --steps ...」を使用してクラスタを作成している間も)AWSを使用してクラスタにステップを追加することができますSDK(AWS Java SDKなど)を使用するか、AWS EMR Consoleを使用します。

ステップAPIのメリットには、各ステップの出力をキャプチャしてAWSのCLI、SDK、またはAWSコンソールから表示できることと、ステップのステータスをチェックして完了しました。

ステップAPIの欠点の1つは、現在のステップがすべて順番に実行されるため、複数のステップを並行して実行できないことです。

関連する問題