빅데이터 하둡 프로그래밍 교육과정 ]개요 




빅데이터 하둡 프로그래밍 교육과정 ]개요 

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


개요 


■ 앞서 WordCount2의 실행결과에서 가장 높은 빈도수를 갖는 10개의 단어는?



■ 두 번째 필드가 숫자로 빈도수를 나타낸다는 전제하에 동작 (범용적)



■ 동작방식:

- 각 mapper에서 들어오는 레코드들을 보고 Top N개만 출력.

- Reducer에서 결국 같은 작업을 반복.

- Top N개의 레코드를 가려내기위해 PriorityQueue를 사용. 

  * 모두를 다 저장하고나서 소팅하는 것은 메모리낭비가 너무 큼. 

- 모든 입력레코드의 처리가 끝난 후에야 Top N개를 알 수 있으므로 Mapper와 Reducer의 cleanup 메소드에서 PriorityQueue의 내용을 출력.


■ 만일 전체 데이터를 빈도수로 소팅하고 싶다면 다른 전략이 필요.

- 하둡제공 예제 프로그램중에 TeraSort라는 것의 구현을 흉내내면 됨. 하둡의 벤치마크로 널리 쓰이는 프로그램.

- 데이터 샘플링 후 파티션(Partitioner)을 어떤 값 기준으로 나눌지 정하는 형태. 이는 아주 흔히 쓰이는 하둡 잡 실행 전략 중의 하나. 



+ Recent posts