[Hadoop] 하둡 - 맵 리듀스(MapReduce)의 수행 단계 Client가 맵리듀스를 수행하면 Job이 생성되고 잡트래커와 태스크트래커에 잡을 할당합니다.할당된 잡은 각각의 데이터노드에서 수행되어 결과를 반환하며, 최종적으로 수행이 완료 됩니다. 이번에는 각 단계별로 수행되는 단계를 좀 자세히 알아봅니다.이글은 "시작하세요! 하둡 프로그래밍"을 참고하였습니다.대부분의 내용이 생략되고 정리된 내용이므로 자세한 내용은 꼭 책을 구입하여 확인하시기 바랍니다. Client의 Job 요청1. 앞선 예제에서 main 클래스 내부에서 Job을 생성하여 각종 정보를 set한 후에 waitForCompletion()을 호출합니다.이 함수가 호출되면 Client의 요청은 Job 내부의 JobClient 컴포넌트에 전달됩니다. 2. JobClient는 RPC를 통해서 잡트래커의 ge.. 개발이야기/Hadoop 6년 전
[Hadoop] 하둡 - 맵리듀스의 기초, 기본 예제 #2 하둡의 핵심인 맵 리듀스를 구현하는건 크게 어렵지 않습니다.1. mapper의 map()을 내가 하고자 하는걸로 override 해준다.2. reducer의 reduce()를 내가 원하는걸로 override 해준다.3. 입출력 타입, mapper와 reducer의 클래스가 무언인지등의 정보를 설정해주는 job을 생성하여 실행시킨다. 이 세단계로 구현하면 되기 때문에 하둡의 샘플 예제에도 있는 wordCount를 직접 만들어 보겠습니다. ※ 본 예제는 Kotlin을 사용하였습니다. 먼저 mapper를 구성합니다./** * Mapper 개발이야기/Hadoop 6년 전
[Hadoop] 하둡 - 맵리듀스의(MapReduce) 기초 #1 하둡은 데이터를 맵핑하여 원하는 형태로 만들고 맵핑된 데이터를 정렬하여 원하는 결과로 reduce 시킵니다.앞서서는 하둡에서 사용하는 file system인 HDFS를 설명했다면, 실제로 하둡 프로그래밍을 하기 위해서 필요한 맵리듀스에 대해서 얘기합니다.맵리듀스는 병렬로 분산처리를 지원해주는 Framework 입니다.사용자는 처리해야할 로직을 잘 구현해 놓고 맵리듀스에 던져주면 알아서 병렬처리를 하여 결과값을 반환해 줍니다. 이글은 "시작하세요! 하둡 프로그래밍"을 참고하였습니다. 대부분의 내용이 생략되고 정리된 내용이므로 자세한 내용은 꼭 책을 구입하여 확인하시기 바랍니다. 맵리듀스의 구성1. JobTracker잡트래커는 전체 하둡 클러스터에 하나만 존재하며 주어진 job의 스케쥴링 및 모니터링을 담당.. 개발이야기/Hadoop 6년 전