[Hadoop] Mapreduce 기본

Woong·2022년 1월 10일
0

Apache Hadoop

목록 보기
4/10

MapReduce

  • 하둡이 제공하는 빌트인 도구
  • 데이터를 클러스터에 분배하는 작업 수행
    • 데이터를 파티션으로 나누어 클러스터에서 병렬로 처리할 수 있도록 함
  • Mapper 는 관심있는 데이터를 뽑아 데이터를 추출하고 구조화
  • Reducer 는 mapper 에서 변경, 추출한 데이터를 종합하는 과정
  • 인풋데이터를 mapper 를 통해 key value 쌍으로 변환
    • 같은 키가 여러번 나타날 수 있음
    • ex) 사용자가 영화를 평가한 경우, key 를 user id, value 를 movie id 라 하면 user id 는 평가한 영화의 갯수만큼 중복되게 됨
  • 그 외 timestamp 등 불필요한 데이터는 최적화를 위해 제외
  • 데이터를 같은 키 별로 분류하고 정렬, 값을 종합함
    • 검색에 유리한 키를 분류하기도 함
  • reducer 는 각 키에 대해 호출됨
    ** 서로 다른 클러스터에 저장된 데이터에 대해 키 별로 데이터를 종합

분산처리 방법

  • 여러개의 노트에 분배된 데이터가 저장되어있을 때.
  • 클라이언트에서 yarn에 요청을 보내고,
  • NodeManager 에서 MapReduce 를 시작,
    • Application Master 는 작업을 클러스터에 분배하고 MapRecude 작업을 감시
    • mapreduce 과정에서 NodeManager 노드에선 HDFS 에서 데이터를 가져와 처리
      (7분30초까지 봄)

하지만....

  • mapreduce를 직접적으로 쓰는 경우는 적다
  • spark 등 mapreduce 의 단점이 개선된 대체제가 있어 잘 사용하지 않게 되었음.

reference

  • 글로벌 Best】 Hadoop : 최고의 하둡 실습으로 빅 데이터 길들이기! (한글 자막) 강의

0개의 댓글