1

通常、hadoop クラスターがビジーでない場合、map 側が完全に完了する前に、reduce 側が進行し始めることに気付きましたか? そんなことがあるものか?進行状況インジケーターを減らすことはやや誤解を招くとどこかで読んだことを覚えていますが、正確には思い出せません。誰かがこれに光を当てることができますか?

4

3 に答える 3

6

33 1 / 3 % の削減タスク進行状況インジケーターは、マップ出力をコピーしています。(別の 33 1 / 3 % はそれらをソートしており、最後の 33 1 / 3 % は reduce() メソッドへの実際の呼び出しを構成しています。) マッパーは常に終了しており、構成した数の reduce タスクがプルされています。これらの出力は準備が整うとすぐに実行されるため、reduce() 呼び出しが発生する前に、reduce フェーズの最初のラウンドの最大2 / 3が完了します。

于 2012-05-23T06:46:31.743 に答える
2

既に与えられた回答に加えて、この動作は mapred プロパティによって制御されますmapred.reduce.slowstart.completed.maps。これは、コピー ステージが開始される前に完了する必要があるマップ タスクのパーセンテージ (0-1) を表します。

于 2012-05-23T10:30:19.607 に答える
0

これは、reducer が map 出力を reduce タスクが実行されるノードにコピーする必要があるためです。map タスクが終了し、その出力をコミットした場合は、それを直接転送して、レデューサーで既に利用可能なデータにマージできます。

したがって、すべてのマッパーが終了するまで待つのではなく、これにより多くの時間を節約できます。

于 2012-05-23T05:28:31.610 に答える