반응형
- 맵리듀스는 병생성을 고려하여 설계
- 충분한 장비만 있다면 대규모 데이터 분석이 가능
- 대용량 데이터셋에서 그 진가가 드러남
- 하둡은 소수의 큰파일을 쉽고 효율적으로 처리한다
2.3 하둡으로 데이터 분석하기
1) 맵과 리듀스
- 맵리듀스 작업은 크게 맵 단계와 리듀스 단계로 구분
- 각 단계는 입력과 출력으로 키-값 의 쌍을 가지며, 그 타입은 프로그래머가 선택
- 맵 함수의 출력이 리듀스 함수의 입력으로 보내지는 과정은 맵리듀스의 프레임워크에 의해 처리(이 과정에서 키-값 쌍은 키를 기준으로 정렬)
A. 맵단계
- 데이터의 준비 단계
- 리듀스 함수를 위해 데이터를 제공
- 잘못된 레코드를 걸러주는 작업을 함
- 문제가 있는 레코드를 제거하는 작업
- 각 행은 키-값 쌍으로 변환되어 맵 함수의 입력이 됨
B. 리듀스 단계
- 데이터는 하나의 리스트로 묶임
- 리듀스 함수는 리스트 전체를 반복하여 최고 측정값을 추출
2.4 분산형으로 확장하기
- 맵리듀스 잡은 클라이언트가 수행하는 작업의 기본 단위
- 잡은 입력 데이터, 맵리듀스 프로그램, 설정 정보로 구성
- 하둡은 잡을 맵 태스크와 래듀스 태스크로 나누어 실행
- 각 태스크는 YARN 을 이용하여 스케쥴링되고 클러스터의 여러 노드에서 실행
- 하둡은 맵리듀스 잡의 입력을 입력 스플릿 또는 단순히 스플릿이라고 부르는 고정 크기 조각으로 분리
- 각 스플릿마다 하나의 맵 태스크를 생성하고 스플릿의 각 레코드를 사용자 정의 맵 함수로 처리
- 전체 입력을 통째로 처리하는 것보다 스플릿으로 분리된 많은 조각을 각각처리하는 것이 훨씬 빠름
- 스플릿을 병렬로 처리한다면 스플릿의 크기가 큰 것 보다는 스플릿의 크기가 작을수록 부하분산에 더 좋은 효과
반응형
'Book > 하둡 완벽 가이드' 카테고리의 다른 글
[하둡 완벽 가이드] 1. 하둡과의 만남 (0) | 2022.03.30 |
---|