- ベストアンサー
「MapReduce処理」の仕組みは?
CookPad開発者のブログ( http://techlife.cookpad.com/2009/09/16/cookpad-hadoop-introduction/)に”MapReduce”という用語が登場していますが、Wikipediaでの解説を閲覧しましても内容を理解し難かったものですから、MapReduceの意味を入門者向けに説明しているページが有れば紹介して頂けますでしょうか? もし無ければ、その意味の説明でも構いませんから、宜しく御願い致します。
- みんなの回答 (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別にアクセス回数を集計する。
補足
有り難う御座います。 良く分かりました。