맵리듀스

위키百科, 우리 모두의 百科事典.

맵리듀스 (MapReduce)는 구글 에서 大容量 데이터 處理를 分散 竝列 컴퓨팅에서 處理하기 위한 目的으로 製作하여 2004年 發表한 소프트웨어 프레임워크 다. [1] 이 프레임워크는 페타바이트 以上의 大容量 데이터를 信賴度가 낮은 컴퓨터 로 構成된 클러스터 環境에서 竝列 處理를 支援하기 위해서 開發되었다. 이 프레임워크는 函數兄 프로그래밍 에서 一般的으로 使用되는 Map Reduce 라는 函數 基盤으로 主로 構成된다. [2]

現在 맵리듀스는 자바 C++ , 그리고 其他 言語에서 適用이 可能하도록 作成되었다. 代表的으로 아파치 하둡 에서 오픈 소스 소프트웨어 로 適用되었다.

例示 [ 編輯 ]

文書들의 各 單語를 歲는 例示는 아래와 같다: [3]

function
 map
(String name, String document):
  
// name: document name

  // document: document contents

  for each
 word w 
in
 document:
    emit (w, 1)
function
 reduce
(String word, Iterator partialCounts):
  
// word: a word

  // partialCounts: a list of aggregated partial counts

  sum = 0
  
for each
 pc 
in
 partialCounts:
    sum += pc
  emit (word, sum)

같이 보기 [ 編輯 ]

參照 [ 編輯 ]

  1. “Google spotlights data center inner workings | Tech news blog - CNET News.com” . 2013年 10月 19日에 原本 文書 에서 保存된 文書 . 2014年 1月 23日에 確認함 .  
  2. "Our abstraction is inspired by the map and reduce primitives present in Lisp and many other functional languages." - "MapReduce: Simplified Data Processing on Large Clusters" , by Jeffrey Dean and Sanjay Ghemawat; from Google Research
  3. “Example: Count word occurrences” . Google Research . 2013年 9月 18日에 確認함 .  

外部 링크 [ 編輯 ]