1

min.num.spills.for.combine (デフォルト 3)

それは何を意味しますか?

a) 最小番号。コンバイナーを実行するために必要なマップスピルの数は? コンバイナーを指定しても、実行が保証されないのですか?

b) 最小番号。コンバイナーが io.sort.factor によって作成されたマージ/ソートされた単一ファイルで実行される前に持つスピルの数。そのため、マージによって新しいファイルが作成されるたびに、コンバイナーはそのファイルに対して実行されます。流出量は最小 3

正解は a) だと思いますが、誰でも確認できますか。

4

2 に答える 2

1

私も同じ気持ちです:)

min.num.spills.for.combine (デフォルト 3) は、ジョブにコンバイナーがあり、スピルの数が 3 つ以上 (少なくとも 3) の場合、マップ出力が書き込まれる前に呼び出されることを意味します。ローカル ディスク。

Definitive Guide のこのパラグラフを参照してください。

コンバイナー関数が指定されていて、スピルの数が 3 つ以上 (min.num.spills.for.combine プロパティの値) である場合、出力ファイルが書き込まれる前にコンバイナーが実行されます。コンバイナは、最終結果に影響を与えることなく、入力に対して繰り返し実行できることを思い出してください。ポイントは、コンバイナーを実行すると、よりコンパクトなマップ出力が作成されるため、ローカル ディスクに書き込み、レデューサーに転送するデータが少なくなるということです。

于 2013-07-31T19:03:34.297 に答える