Experiences/Hadoop

1-3. MapReduce의 이해

프로그래머 2012. 8. 27. 21:41

아마 파이프라인이나 메시지 큐와 같은 데이터 처리 모델에 대해 들어본 적이 있을 것이다.


파이프라인은 프로세스를 담당하는 작은 유닛들을 프로세스 처리 중 재사용할 수 있게 해준다.

메시지 큐는 프로세스를 동기화하는 기능이 있다.


메시지 큐에서 프로그래머는 데이터 처리 작업을 프로듀서(producer)와 컨슈머(consumer)라는 두 개의 프로세스 단위로 구성하는데, 각각의 프로세스가 실행되는 시점은 시스템에 의해 관리된다.

이와 마찬가지로 MapReduce도 하나의 데이터 처리 모델이라고 할 수 있다.


MapReduce의 가장 큰 장점은 여러 대의 컴퓨터들에서 데이터를 처리하는 경우, 확장이 쉽다는 점이다.

MapReduce의 데이터 처리 기본 단위mapperreducer이다. 


하지만, 데이터 처리 프로그램을 mapperreducer로 나누는 것은 간단한 문제가 아니다. 

만약 위의 문제를 해결한다면 100대, 1,00대 또는 10,000대의 컴퓨터로 구성된 클러스터에서 프로그램을 실행되록 확장하는 것은 식은 죽 먹기다.


환경설정만 바꾸면 되기 때문이다. 

이러한 점 때문에 MapReduce모델에 매력을 느끼게 되는 것이다.


이제 MapReduce를 살펴보기 전에, 대용량 데이터를 처리할 수 있도록 간단한 프로그램을 작성하고 이것을 확장해보자.

'Experiences > Hadoop' 카테고리의 다른 글

1-5. Hadoop 첫 프로그램 실습(WordCount)  (2) 2012.08.28
1-4. 하둡을 위한 개발환경 설정하기  (2) 2012.08.28
[!] WordCount 에러  (0) 2012.08.26
1-2. 하둡은 무엇인가?  (0) 2012.08.26
1-1. 하둡의 소개  (0) 2012.08.26