プロが教えるわが家の防犯対策術!

CookPad開発者のブログ(
http://techlife.cookpad.com/2009/09/16/cookpad-h …)に”MapReduce”という用語が登場していますが、Wikipediaでの解説を閲覧しましても内容を理解し難かったものですから、MapReduceの意味を入門者向けに説明しているページが有れば紹介して頂けますでしょうか?

もし無ければ、その意味の説明でも構いませんから、宜しく御願い致します。

A 回答 (1件)

純粋に仕組みだけを考えると、理解が難しいので


Map&Reduceの利用例/応用例を考えるのが良いでしょう。

利用する側にとって、Map&ReduceのキモはReduce処理です。
Reduceは、Map&Reduce処理の目的/結果として、どのようなデータが欲しいのか?
大方針を決める部分です。

例1:月別売上金額【Reduce処理】
 年月,売上金額
でデータを集計(Reduce)したい。

例2;アクセスカウンター【Reduce処理】
 URL,アクセス回数
でデータを集計(Reduce)したい。

Reduce処理の具体的な内容は、「単純化されたデータを集計する」です。

次に、
Map処理は膨大な量のデータから、不要部分を切り取って、
結果の集計(Reduce処理)に必要なデータだけを取出す部分です。

例1:月別売上金額【Map処理】
 POSレジのデータ(伝票番号,年月日,年齢区分,品名,売上金額)の各行から、
 Reduceの集計に必要な情報(年月日⇒年月に変換、売上金額)を取り出す。

例2:アクセスカウンター【Map処理】
 アクセスログ(年月日時間,アクセス元IP,サーバ名,URL,HTTPメソッド,HTTPレスポンスコード,転送バイト数,....)の各行から、
 Reduceの集計に必要な情報(URL,アクセス回数=1)を取り出す。
 「アクセス回数=1」とするのは、アクセスログ1行がアクセス回数1回に対応するため。

Map処理の具体的な内容は、「膨大/複雑なデータを、Reduceに必要な単純化されたデータに加工する」です。


まとめると、例1、2のMap&Reduce処理はこうなります。

例1:月別売上金額【Map&Reduce処理】
 POSレジのデータ各行からMap処理で、
  年月、売上金額
 を取り出す。
 Reduce処理で、年月毎に売上金額を集計する。

例2:アクセスカウンター【Map&Reduce処理】
 アクセスログの各行からMap処理で、
  URL,アクセス回数=1
 を取り出す。
 Reduce処理で、URL別にアクセス回数を集計する。

この回答への補足

有り難う御座います。

良く分かりました。

補足日時:2011/06/04 05:31
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!