MapReduce

MapReduce


MapReduceとは
  • MapReduceは
    • 大規模なデータ(1TB.それ以上.)
    • 多数のマシン
    • 効率良く,並列・分散処理するための仕組み
  「MapReduce:Simplified data processing on large clusters」
   Jeffrey Dean & Sanjay Ghemawat
   OSDI,2004

MapとReduce
  • Map
    • データの分解,抽出
    • 例)Webページを受け取って,単語を取り出す.
    • map(key, value) → list<key', value'>
  • シャッフル
    • Mapが終わると,同じkeyごとにソートされる.
    • list<key', (value1', value2', value3', ...)>
  • Reduce
    • Mapからの出力を集約,計算
    • 例)Mapからの単語情報を,1つのインデックスにまとめ上げる.
    • reduce(key', list<value'>) → list<value''>


MapReduce応用例
  • 単語カウンタ
  • 分散Grep
  • URLアクセスカウンタ
  • 逆リンクリスト
  • 分散Sort
  • 転置インデックス

MapReduceのオープンソース版として,Hadoopというものがある.
最終更新:2008年08月19日 11:54