• ベストアンサー

「MapReduce処理」の仕組みは?

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

質問者が選んだベストアンサー

  • ベストアンサー
  • onosuke
  • ベストアンサー率67% (310/456)
回答No.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別にアクセス回数を集計する。

UtaShiori
質問者

補足

有り難う御座います。 良く分かりました。

関連するQ&A