MapReduce

2022. 10. 5. 23:14Book/하둡 완벽 가이드

728x90
반응형

MapReduce 란?

- 2004년에 구글에서 발표한 데이터 처리 알고리즘

- Hadoop의 MapReduce는 구글에서 발표한 MapReduce 논문을 자바로 구현한 애플리케이션

MapReduce 처리과정

▶ InputFormat

▶ SequenceFile

- Hadoop에서 제공하는 Binary 파일 포맷

- Key - Value pair로 구성

- Binary로 저장되어 있어서 속도가 빠름

- 압축에 따른 포맷

  • Uncompressed
  • Record - Compressed : 값만 압축
  • Block - Compressed : 키와 값 모두 블록에 압축

- 용도

  • 작은 압축 파일들을 모아 SeqeunceFile로 묶어서 사용
  • 압축을 통해 Shuffling의 트래픽 양을 줄이는데 사용

▶ InputSplit  VS  Block

■ Block

■ InputSplit

▶ InputSplit

- 맵의 입력으로 들어가는 데이터를 분할하는 방식 정의

▶ RecordReader

- InputSplit를 읽어오는 역할

▶ Combiner

- Mapper의 결과를 추가적으로 처리해서 Reducer로 전송되는 데이터를 줄여주는 역할

- 있을 수도 있고 없을 수도 있음

▶ Partitioner

- Map의 결과를 어떤 Reduce에 전달할지를 결정하는 역할

▶ Shuffling and Sorting

- Map의 중간결과 파일을 Reducer로 전달하고 Key를 기준으로 정렬하는 과정

▶ OutputFormat

MapReduce Job

MapReduce Job 완료 후

- 마지막 태스크가 완료되면 Application Master가 Job 상태를 성공으로 변경

- 클라이언트에서 실행한 waitforcompletion 메서드가 반환

- Job통계와 카운터와 같은 메세지 출력

- 히스토리 서버에 잡 정보를 기록

 

728x90
반응형

'Book > 하둡 완벽 가이드' 카테고리의 다른 글

YARN ( Yet Another Resource Negotiation )  (0) 2022.10.04
HDFS ( Hadoop Distributed File System )  (1) 2022.10.03
[MAC] 하둡 설치  (0) 2022.09.13
하둡이란?  (0) 2022.09.13