Hadoop はどのようにノーを決定しますか。レデューサーは特定の問題に対して実行されますか? no.of partitioners または no. クラスターサイズか何か?以下の問題について説明してください。640MB の入力ファイルがあり、64MB のブロック サイズがあります。私のクラスターのサイズは 5 ノード クラスターです。入力ファイルを HDFS に書き込みました。これは 10 個のデータ ブロックです。書かれた入力ファイルに対してwordcountプログラムを実行すると、マッパーの数とリデューサーの数を教えてください。
3 に答える
ブロック サイズを 64 MB から 128 MB に変更すると、ブロック数が 10 から 5 に減ります。構成で指定できるのはレデューサーの数のみですが、パラメーターでレデューサーの数を制御する方法はありません。マップの数は、入力分割数と入力形式によって異なります。レデューサーの数をクラスター サイズよりも少なくすることをお勧めします。MapReduce 2 フレームワークでは、コンテナーが使用されるリソースを制御するため、データの見積もりに基づいてリソースのサイズを設定し、データ サイズに基づいて必要な数のレデューサーを開始し、関数の複雑さを軽減できます。
マッパーとレデューサーの番号を conf ファイルで指定できる場合、一意の答えはありません。ただし、デフォルトは次のようになります:
640Mb および 64Mb ブロック = 10 マッパーおよび 1 レデューサー。
より正確な答えを得るために、マッパーの数はに従って設定され
File total size / File block size
ますが、構成変数を設定して、マップの最小分割サイズ、マップの最大分割サイズ、最小マップ番号などのように動作を変更できます
...詳細について知りたい場合これらの変数はmapred のデフォルト hdfs のデフォルトとコアのデフォルトを参照します
。ちなみに、スタック上の map と reduce の数について多くの質問があります。