4.1 맵리듀스의 개념 하둡은 HDFS와 맵리듀스로 구성됩니다. 맵리듀스는 HDFS에 저장된 파일을 분산 배치 분석을 할 수 있게 도와주는 프레임워크입니다. 맵리듀스 프로그래밍 모델은 맵과 리듀스라는 두 가지 단계로 데이터를 처리합니다. 맵은 입력파일을 한 줄씩 읽어서 데이터를 변형하며, 리듀스는 맵의 결과 데이터를 집계합니다. 이러한 맵리듀스 프로그래밍 모델은 일밙거으로 다음과 같은 함수로 표현됩니다. 맵 : (K1,V1) -> LIST(K2,V2) 리듀스 : (K2,LIST(V2)) -> (K3,LIST(V3)) 맵은 키와 값으로 구성된 데이터를 입력받아 이를 가공하고 분류한 후, 새로운 키와 값으로 구성된 목록을 출력합니다. 리듀스는 새로운 키로 그룹핑된 값의 목록을 입력 데이터로 전달받습니다. 그리고 값의 목록에 대한 집계 연산을 실행해 새로운 키로 그룹핑된 새로운 값의 목록을 생성합니다. 하둡의 맵리듀스 프레임워크는 이러한 프로그래밍 모델을 구현할 수 있게 맵과 리듀스 인터페이스를 제공합니다. 맵리듀스 애플리케이션이 동작할 때 맵과 리듀스 사이에는 셔플이라는 작업이 발생합니다. 셔플은 나중에 자세히 설명하겠습니다. 4.2 맵리듀스 아키텍쳐 맵리듀스 프레임워크는 개발자가 분석 로직을 구현하는 데 집중하게 해주고, 데이터에 대한 분산과 병렬처리를 프레임워크가 전담합니다. 하지만 아키텍쳐를 모른다면 성능을 고려하지 않은 채로 개발하게 되고, 서비스를 사용하지 못할 수도 있습니다. 1. 시스템 구성 클라이언트 : 사용자가 진행한 맵리듀스 프로그램과 하둡에서 제공하는 맵리듀스 API를 의미합니다. 잡트래커 : 클라이언트가 하둡으로 실행을 요청하는 맵리듀스 프로그램은 잡이라는 하나의 작업 단위로 관리됩니다. 잡트래커는 하둡 클러스터에 등록된 전테 잡의 스케줄링을 관리하고 모니터링합니다. 태스크트래커 : 사용자가 설정한 맵리듀스 프로그램을 실행하며, 하둡의 데...