shufflueのMapReduceの処理

 、マップ段階:
  。スライス後のファイルは、各スライスはMapTaskに対応します

  B。MapTask、行の読み取り、デフォルトでは、各行が読み出され、マップ・メソッドを呼び出します

  C地図法が書かれたMapTask自身のバッファ(結果は既にパーティション情報を含む)の実施をもたらすであろう。注:MapTaskますバッファを保有する各
  バッファにデータがバッファ内のデータ(パーティション)に分配される場合、ソート、Dを(ソート)(拡張子:バッファ内SortingUseソートアルゴリズムそれは)クイックソートです。合わせたクラスは(結合)が指定された場合、データはまた、結合が行われる
  E.バッファがメモリ内に維持することで、デフォルトは100Mである
  バッファが使用される場合、バッファが指定された条件(アンダーフロー書き込み閾値のデフォルト値0.8、すなわちに達するとF.時間の80%が流出書き込みを持つことになります後)、データMapTaskは、ディスク上のオーバーフロー書き込みファイルを生成するには、このバッファオーバーフロー(こぼれ)を書き込みます。フォローアップの結果は、バッファへの書き込みを続けます。各オーバーフローが新しいオーバーフロー書き込みファイル記述する必要があります
  グラムを。オーバーフローは、複数のファイルを書き込む場合は、オーバーフローが複数のファイルを書き込む最終アウトファイルに(マージ)マージします。バッファオーバーフローにフォローアップ結果を書き込んだ後、オーバーフローを書くことなく、しきい値に達しなかった場合は、データと処理が完了すると、結果は直接出て最終の最後にマージ(併合)バッファ内のファイルをMapTask結果をオーバーフローして書きますファイル

  H。マージプロセスでは、結果がソートされ、再分割、最終アウト全体のファイルが多くの領域に分割され、ソートされた
  マージされたクラスは、(コンバイナである)が指定された場合、I。オーバーフローファイルの数が> = 3書き込ま、それは自動的に組み合わせて、時間の経過にマージします
  :.問題にJの注目を
     。私はオーバーフローが必ずしも得られない書き込み
     IIオーバーフロー書き込みや入力の大きさは直接関係ないが、スライスしない。
     IIIオーバーフローが要因のシーケンスを検討するために、ファイルサイズを記述します。
     バッファは、環状バッファが形成されるようにIV。バッファに本質的にバイトの配列であり、底部にバイト配列は、変更されました。配置された環状の目的は、アドレス低減することである
     Vオーバーフロー書き込み閾値効果が輻輳を低減することである。
 つ、の段階を減らし:
  。プロモーターはMapTaskパーティションをフェッチするフェッチする各スレッドをReduceTaskます現在データで処理する
  BのReduceTask。小に対応している各データファイルからMapTaskをフェッチ、一時ファイルに格納されたデータの上にクロールします
  C。ReduceTaskこれらの小さなファイルをファイルに(マージ)するために結合され、マージ処理、データがソートされます-注文不可欠となりますローカルに命じた-マージソートを使用してプロセスをソートするソートアルゴリズムマージ
  マージ後のdが完了し、ReduceTaskに対応する同じキー値が1にイテレータを生成します。この手順は、パケット(グループ)から呼び出された
  Eは一度キーごとに呼び出されるメソッドを減らし、方法は、HDFS。減らすために結果を書き込み
  、問題にFの注目を:.
     私は5をフェッチするスレッドの数をデフォルトに。
     II。データフェッチするHTTPリクエストを介してスレッドをフェッチ
     IIIを図10に因子のデフォルトをマージ、一つの大きなファイルに各小ファイル10を表す
     IV。ReduceTaskデフォルト閾値は、0.05であり、即ち、末端の5%の実行がMapTask、開始ReduceTaskは、データキャプチャを開始
 シャッフルをチューニングする、3つ:
  この値は〜250 400Mに調整され、通常の運用環境、大規模な転送バッファ。
  Bの相互作用の転送大書き込みしきい値オーバーフローが、ディスクを高めつつ低減することができます。確率ブロック
  Cを実際の運用環境では、プロセスの組み合わせ最大化すること
  と、d。あなたは、ファイルの最終を圧縮することができます。このプログラムは、ネットワークリソースの選択です。ネットワークリソースの制約は、このように考えることができる場合
  、Eは、スレッド数の増加をフェッチ。
  Fが増加する要因をマージ-推奨されない
  ReduceTask閾値がG低減されます。

推奨される方法は、ACDEです

おすすめ

転載: www.cnblogs.com/hi-zhixian/p/11569728.html