💾 Data/etc

[etc] MapReduce

heywantodo 2024. 4. 1. 13:32
728x90
반응형

[etc] MapReduce

맵리듀스(MapReduce)는 대규모 데이터 집합을 처리하는 데 사용되는 프로그래밍 모델이다.

대규모 컴퓨팅 클러스터에서 병렬 처리를 수행하여, 데이터를 처리하고 분석하는 데 유용하다.

 

맵 리듀스는 일반적으로 맵, 리듀스 두 단계로 구성된다.

 

맵(Map) 단계

입력 데이터를 가져와서 여러 작은 부분으로 나눈 후에,

각 부분에 대해 지정된 함수(맵 함수)를 적용하여 중간 결과를 생성한다.

 

이 단계에서 입력 데이터를 키-값 쌍 형식으로 매핑한다.

 

예를 들어 아래와 같은 입력 데이터가 있다고 가정해보자.

Hello world
Hello there
Hello world

위의 입력 데이터에서는 다음과 같은 키-값 쌍이 생성된다.

("Hello", 1),("World", 1)
("Hello", 1),("there", 1)
("Hello", 1),("World", 1)

 

리듀스(Reduce) 단계

맵 단계에서 생성된 중간 결과를 모으고 정렬한 다음,

각 키에 대해 지정된 함수(리듀스 함수)를 적용하여 최종 결과를 생성한다.

 

예를 들어 위 맵 단계에서 생성된 중간 결과를 모아, 

"Hello"를 키로 갖는 값들을 합산하여 각 단어의 총 출현 횟수를 계산한다. 

("Hello", 3)

 

이러한 방식으로 맵 리듀스는 대용량의 문서나 텍스트 파일과 같은 데이터를 처리하여

각 단어의 출현 횟수를 계산할 수 있다.

 

 

 

 

728x90
반응형