• 分散アプリケーション処理モデルMapReduceの3つのフェーズ:
  • KeyとValueを組わせてデータを表現するMapフェーズ
  • キーを使ってソートなどを行うShuffleフェーズ
  • Shuffleフェーズの結果を使って処理するReduceフェーズ

 

3つのフェーズから構成されるMapReduce

MapReduceとは、Hadoopで分散処理を行うプログラミングモデルです。

MapReduceには、
・Map
・Reduce
・Shuffle
の3つのフェーズが存在し、map関数とreduce関数を使って処理内容を記述します。

MapとReduceは処理内容をユーザーが指定するフェーズですが、ShuffleはMapReduceが自動的に処理を行うフェーズです。

 

 

各フェーズの処理内容

MapReduce内のデータは、KeyとValueを組み合わせて表現されます。
通常のテキストもMapフェーズにおいて、KeyとValueを組み合わせたデータに作り変えられます。

Mapフェーズの結果をキーに従ってソートを行い、キーが同じものをまとめるのがShuffle処理です。

Reduceフェースでは、Map処理の結果を使って処理を行います。
同じキーを持つデータ数をカウントするなどの処理が行う事で、より効率良く処理する事が可能となります。

 

 

本サイト上に掲載されているまとめ記事が、毎週ステップメールで受け取ることもできます。

 

参考文献