0

マッパーの数を増やしてレデューサーの数を減らすと、実行中のジョブのパフォーマンス (増加/減少) に違いはありますか?

また、マッパーとレデューサーの数を設定するにはどうすればよいですか? 私はこの設定で遊んだことがないので、これについてはわかりません。私は Hadoop を知っていますが、Hive をよく使用するため、コードを持っています。

また、マッパーとリデューサーの数を増やしたい場合は、それを設定する方法と、設定する値までです。インスタンスの数(10としましょう)に依存していますか?

これを試してパフォーマンスを確認したいので、返信してください。ありがとう。

4

4 に答える 4

4

ブロックサイズと分割サイズに基づいて、マッパーの数を増やすことができます。最も簡単な方法の1つは、以下に示すように分割サイズを小さくすることです。

Configuration conf= new Cofiguration();
//set the value that increases your number of splits.
conf.set("mapred.max.split.size", "1020");
Job job = new Job(conf, "My job name");
于 2012-07-16T22:29:21.643 に答える
3

マッパーの数の変更 - 結果に影響を与えない純粋な最適化です。クラスターを完全に活用するには、数値を設定する必要があります (専用の場合)。ノードあたりのマッパーの数をコアの数と同じにしてみてください。CPU 使用率を確認し、CPU 使用率がほぼ完全になるまで、またはシステムがスワッピングを開始するまで数値を増やします。十分なメモリがない場合、必要なマッパーがコアよりも少なくて済む場合があります。
レデューサーの数は結果に影響を与えるため、特定の数のレデューサーが必要な場合 (1 など) に設定し
ます。任意の数のレデューサーの結果を処理できる場合は、マッパーと同じ最適化を行います。
理論的には、このチューニング プロセス中に IO バウンドになる可能性があります。タスク数をチューニングする場合にも注意してください。mapper/reducer の数が増えているにも関わらず、CPU 使用率が低いことで認識できます。

于 2012-05-06T07:53:55.083 に答える
0

@Animesh Raj Jha からの提案を変更して試してみたmapred.max.split.sizeところ、パフォーマンスが大幅に向上しました。

于 2013-06-07T22:27:11.047 に答える
0

Hadoop 2.2 を使用していますが、最大入力分割サイズを設定する方法がわかりません。より多くのマッパーを作成するために、この値を小さくしたいと思います。yarn-site.xml を更新しようとしましたが、機能しません。

実際、hadoop 2.2 /yarn は次の設定を取りません。

<property>
<name>mapreduce.input.fileinputformat.split.minsize</name>
<value>1</value>
</property>
<property>
<name>mapreduce.input.fileinputformat.split.maxsiz e</name>
<value>16777216</value>
</property>

<property>
<name>mapred.min.split.size</name>
<value>1</value>
</property>
<property>
<name>mapred.max.split.size</name>
<value>16777216</value>
</property>

一番

于 2014-04-29T10:24:37.807 に答える