- 分散アプリケーション処理モデル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処理の結果を使って処理を行います。
同じキーを持つデータ数をカウントするなどの処理が行う事で、より効率良く処理する事が可能となります。
本サイト上に掲載されているまとめ記事が、毎週ステップメールで受け取ることもできます。
参考文献