Book/하둡 완벽 가이드

[하둡 완벽 가이드] 2. 맵리듀스

쟈누이 2022. 3. 31. 22:58
반응형
  • 맵리듀스는 병생성을 고려하여 설계
  • 충분한 장비만 있다면 대규모 데이터 분석이 가능
  • 대용량 데이터셋에서 그 진가가 드러남
  • 하둡은 소수의 큰파일을 쉽고 효율적으로 처리한다

 

 

2.3 하둡으로 데이터 분석하기


1) 맵과 리듀스

  • 맵리듀스 작업은 크게 맵 단계와 리듀스 단계로 구분
  • 각 단계는 입력과 출력으로 키-값 의 쌍을 가지며, 그 타입은 프로그래머가 선택
  • 맵 함수의 출력이 리듀스 함수의 입력으로 보내지는 과정은 맵리듀스의 프레임워크에 의해 처리(이 과정에서 키-값 쌍은 키를 기준으로 정렬)

    A. 맵단계

      - 데이터의 준비 단계

      - 리듀스 함수를 위해 데이터를 제공

      - 잘못된 레코드를 걸러주는 작업을 함

      - 문제가 있는 레코드를 제거하는 작업

      - 각 행은 키-값 쌍으로 변환되어 맵 함수의 입력이 됨

   

   B. 리듀스 단계

    - 데이터는 하나의 리스트로 묶임

    - 리듀스 함수는 리스트 전체를 반복하여 최고 측정값을 추출

 

 

 

 

2.4 분산형으로 확장하기


  • 맵리듀스 잡은 클라이언트가 수행하는 작업의 기본 단위
  • 잡은 입력 데이터, 맵리듀스 프로그램, 설정 정보로 구성
  • 하둡은 잡을 맵 태스크와 래듀스 태스크로 나누어 실행
  • 각 태스크는 YARN 을 이용하여 스케쥴링되고 클러스터의 여러 노드에서 실행

 

  • 하둡은 맵리듀스 잡의 입력을 입력 스플릿 또는 단순히 스플릿이라고 부르는 고정 크기 조각으로 분리
  • 각 스플릿마다 하나의 맵 태스크를 생성하고 스플릿의 각 레코드를 사용자 정의 맵 함수로 처리
  • 전체 입력을 통째로 처리하는 것보다 스플릿으로 분리된 많은 조각을 각각처리하는 것이 훨씬 빠름
  • 스플릿을 병렬로 처리한다면 스플릿의 크기가 큰 것 보다는 스플릿의 크기가 작을수록 부하분산에 더 좋은 효과
반응형

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

[하둡 완벽 가이드] 1. 하둡과의 만남  (0) 2022.03.30