MapReduce 정의 및 작동방식

김형수·2023년 6월 28일
0

Hadoop

목록 보기
9/11

MapReduce

MapReduce는 HDFS, YARN과 함께 제공되는 Hadoop의 핵심 기술.

  • Hadoop에 내재된 기능이며 클러스터에 데이터의 처리를 분배.
  • MapReduce는 데이터를 파티션으로 나눠서 클러스터에 걸쳐 병렬 처리되도록 한다

Data Mapper

매핑은 기본적으로 데이터를 변형시킨다
즉 데이터가 한 줄씩 들어오면 매퍼는 그 데이터를 변형시킨다.

  • 키-값 쌍으로 전환

예를 들어 각 사용자가 시청한 영화의 수를 집계하려고 한다면, 키는 사용자의 ID, 값은 사용자가 평가한 영화가 될 것. 일반적인 python dict 자료구조와는 달리 중복된 키가 존재할 수 있음.
이 경우 ID=1의 사용자가 두개 이상의 영화를 평가한 것.
맵핑 단계에서 같은 키값이 나오는 것은 전혀 문제될 것이 없음.

들어오는 데이터에서 필요한 정보를 추출하고 이해할 수 있는 구조로 정리.
모든 입력 줄(input line)마다 매퍼는 중요한 데이터를 추출하고 구조화해한 줄을 출력한다.

'셔플과 정렬'

'셔플과 정렬' 단계에서 일어나는 일은 각각의 키-값 쌍을 읽어서 고유 키에 짝 지어진 값을 집계. 간단하게 여러개의 중복된 키가 존재한다면 이를 하나로 묶어줌.

Date Reducer

Reducer의 역할은 데이터를 집계하는 것.

정리

  • 매퍼는 각 줄을 키-값 쌍으로 변형

  • '셔플과 정렬'은 각 데이터를 집계해 정렬

  • 리듀서는 이 데이터를 원하는 대로 처리할 수 있죠

0개의 댓글