2016-06-15 3 views
-1

Hadoop for 1 mapperでは、1つの入力分割に対して1つのマッパーオブジェクトしか作成されず、入力分割で各行のマップメソッドを内部的に呼び出します。同様にReducerが何回呼び出されるのか? 1つのユニークキーごとに1つのreduceメソッド?右Mapper reducer in Hadoop

答えて

0

使用するレデューサーの数を制御できます。デフォルトの番号は1ある

job.setNumReduceTasks(int tasks)

:あなたのドライバでは、のようなものを使用して番号を設定します。

デフォルトのHashPartitionerキーは、キーのハッシュコードに基づいてレデューサーに配布されます。したがって、reduceは複数のキーを処理できます。

+0

Thansk MR Nerd、そうです。それで、job.setNumReduceTasks(2)を設定し、マッパーが発行した10個のユニークキーを設定したとすると、10個のうち7個がレデューサー1に割り当てられ、3個はレデューサー2に割り当てられます。レデューサー1は内部で7個のreduce関数を呼び出し、 2 reduce reduce関数を3回呼び出します。あれは正しいですか ? –

+0

ええ、それは私に聞こえます。 –

+0

しかし、どのくらいのキーがどの減量剤に行くのかを決める。 ?例7の場合は減速機に1と3のキーを減速機2にします。 –

関連する問題