3

Amazon EMR で wordcount の例を実行しようとしています。

-1- まず、次のコマンドでクラスターを作成します。

./elastic-mapreduce --create --name "MyTest" --alive

これにより、単一のインスタンスを持つクラスターが作成され、ジョブ ID が返されます。たとえば、j-12NWUOKABCDEF とします。

-2- 次に、次のコマンドを使用してジョブを開始します。

./elastic-mapreduce --jobflow j-12NWUOKABCDEF --jar s3n://mybucket/jar-files/wordcount.jar --main-class abc.WordCount --arg s3n://mybucket/input-data/

--arg s3n://mybucket/output-data/

--arg -Dmapred.reduce.tasks=3

私の WordCount クラスは abc パッケージに属しています。

これは問題なく実行されますが、レデューサーは 1 つしか取得できません。つまり、パラメーター「mapred.reduce.tasks=3」は無視されます。

アプリケーションで使用するレデューサーの数を指定する方法はありますか?

ありがとう、ニーラジ。

4

3 に答える 3

2

"-D"と は別の引数にする必要"mapred.reduce.tasks=3"があります。

于 2014-03-19T19:41:48.000 に答える
0

レデューサーとマッパーを --bootstrap-action オプションで次のように設定して、EMR クラスターの起動を試みます。

--bootstrap-action s3://elasticmapreduce/bootstrap-actions/configure-daemons --args "-m,mapred.map.tasks=6,-m,mapred.reduce.tasks=3"
于 2013-10-18T17:12:07.113 に答える