맵리듀스

위키백과, 우리 모두의 백과사전.

맵리듀스(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일에 확인함. 

외부 링크[편집]