맵리듀스
보이기
맵리듀스(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)
같이 보기
[편집]각주
[편집]- ↑ “Google spotlights data center inner workings | Tech news blog - CNET News.com”. 2013년 10월 19일에 원본 문서에서 보존된 문서. 2014년 1월 23일에 확인함.
- ↑ "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
- ↑ “Example: Count word occurrences”. Google Research. 2013년 9월 18일에 확인함.
외부 링크
[편집]- MapReduce-MPI MapReduce-MPI Library
이 글은 소프트웨어에 관한 토막글입니다. 여러분의 지식으로 알차게 문서를 완성해 갑시다. |