5

私はHadoopの初心者です。Hadoop では、reduce 関数を開始する前にすべての map 関数を完了する必要があることをどこかで学んだことを覚えています。

しかし、次のようなマップ削減プログラムを実行すると、印刷物が得られました。

map(15%), reduce(5%)
map(20%), reduce(7%)
map(30%), reduce(10%)
map(38%), reduce(17%)
map(40%), reduce(25%)

なぜそれらは並行して実行されるのですか?

4

1 に答える 1

5

実際の Reduce フェーズが開始する前に、マッパーが完了し続けるとShuffleSort、およびMergeが行われます。このパーセンテージはそれを意味します。これは実際の削減フェーズではありません。フレームワークが最初にすべてのマッパーの完了を待機し続け、次にシャッフル、ソート、およびマージを実行する場合に発生するオーバーヘッドを削減するために、これは並行して行われます。

于 2013-09-13T19:43:45.323 に答える