1

私はMapReduce-hadoopの世界が初めてです。また、構成とドキュメントでは、マッパーとレデューサーの数を指定しています。それは実際にはどういう意味ですか?私の疑問は次のとおりです。

  1. マッピング/削減が行われるレベルの数を指定しますか。つまり、No. of reducer=2 の場合、reduce メソッドは 2 回呼び出されます。それは...ですか?
  2. 並列に動作するマッパー/リデューサースレッドの数を指定していますが、それぞれがマップ/リデュースを1回だけ行います。

どちらが正しいですか?またはそれは何か他のことを意味します.私は混乱しています..私に答えてください

4

2 に答える 2

3

いいえ、あなたは完全に間違っています。

  1. maptask の数を指定しても、フレームワークにヒントが与えられるだけで、入力形式によって入力分割の数が決まります。1 つの分割 = 1 つの map タスクです。
  2. 削減タスクの数は、マップ出力キーが分割されるタスクの数を示します。たとえば、1000 個の異なるマップ出力キーと 5 つの削減タスクがある場合、各削減タスクは約 200 個のキーを取得します。キーごとにreduce関数が呼び出されるので、約。私の例では、reduce タスクごとに 200 回。
  3. maptasks の数、reduce タスクは、並列化については何も言いません。ノードあたりの並列スレッドの数は、タスクトラッカーによって決定されます。したがって、タスクトラッカーが並行して実行するために使用できる map および reduce スロットの数を指定する必要があります。これは で構成されmapred.tasktracker.map|reduce.tasks.maximumます。レデューサー (スロット内) がタスクを実行することに注意してください。そのため、reduce スロットの数とそれに応じた reduce タスクの数を構成することが重要です。合計で 10 個の reduce スロットがある場合、少なくとも 10 個の reduce タスクも必要です。そうしないと、いくつかのスロットがアイドル状態になります。
于 2013-10-30T10:30:50.320 に答える
1

Map-Reduce は初めてなので、次のホワイト ペーパーを確認する必要があると確信しています

パラダイムが明確に理解されると、ほとんどの疑問は解消されます。そして、それは完璧な出発点です。

于 2013-10-30T10:36:40.903 に答える