맵리듀스
(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)
같이 보기
[
編輯
]
參照
[
編輯
]
外部 링크
[
編輯
]