서브메뉴

본문

직접 해보는 하둡 프로그래밍
직접 해보는 하둡 프로그래밍
저자 : 한기용
출판사 : 이지스퍼블리싱
출판년 : 2013
ISBN : 9788997390144

책소개

하둡, 이론에 그치지 않고 빅데이터로 실습하며 익힌다!

하둡 설치부터 하둡 프로그래밍까지 단계적으로 명쾌하게 설명한 『하둡 프로그래밍』. 하둡의 창시자인 더그 커팅과 함께 근무한 저자의 경험을 바탕으로 하둡에 입문하려는 이들에게 도움을 준다. 저자가 제시한 실습용 데이터를 가지고 단계별로 따라할 수 있도록 구성되어 있다. 각 장의 마무리는 도전 퀴즈와 미션으로 내용을 이해했는지 확인하고 다른 응용력도 키울 수 있도록 한다.
[교보문고에서 제공한 정보입니다.]

출판사 서평

하둡을 만든 더그 커팅과 함께 일한 저자가 집필한 하둡 입문서!!
실리콘밸리에서 인정받은 저자의 노하우를 만나보세요!


저자는 하둡의 창시자인 더그 커팅과 함께 실리콘밸리, 야후 본사의 웹 검색엔진 개발팀에 근무했다. 야후는 2006년부터 검색엔진 모듈을 하둡으로 포팅하기 시작했고, 바로 그때 저자가 속한 웹 검색엔진 개발팀에서 하둡을 다룬 것. 저자는 이때부터 2011년까지 야후 본사에 근무하면서 하둡 관련 프로젝트를 진행했고 최근까지 국내외 기업의 하둡 관련 컨설팅을 진행하면서 하둡과 관련된 프로젝트를 진행했기 때문에 어느 누구보다 하둡을 정확히 이해하고 있다. 해외 석학 초대로 한국에 왔다 하둡에 입문하려는 사람들을 위해 이 책을 쓰게 되었다.

하둡, 이론에 그치지 않고 빅데이터로 실습하며 배우는 책!
저자는 이 책에서 방대한 하둡의 핵심을 정확하게 짚어 체계적으로 설명한 후, 하둡의 기초부터 고급 프로그래밍까지 단계별로 따라할 수 있도록 구성했다. 특히 하둡을 수박 겉핥기로 설명하지 않고 저자가 제시한 실습용 데이터를 가지고 직접 따라해볼 수 있도록 구성된 것도 장점이다. 기존의 검색 프로그램과 하둡 프로그램의 비교를 통해 하둡의 우수함을 확인할 수 있도록 1GB의 대용량 데이터를 사용하여 빅데이터를 체험할 수 있을 것이다. 이 책의 예제 곳곳에서 저자의 실무 경험이 배어나온다. 하둡을 체계적으로 쉽게 이해하고 실무에 응용할 수 있도록 해주는 필자의 이야기를 만날 수 있는 것은 행운이라고 하겠다.

실리콘밸리 야후 개발자의 경험을 공개한다!
이 책은 하둡 설치부터 하둡 프로그래밍까지 단계적으로 명쾌하게 설명한 책이다.
총 세 개의 마당과 총 10장(부록 포함)으로 구성되어 있는데, 첫째마당은 빅데이터와 하둡에 대한 개론적인 설명이고 둘째, 셋째 마당은 프로그래밍 중심으로 소스 코드에 대한 로직과 설명이다. 빅데이터나 하둡에 대한 경험이 거의 없는 독자를 위해 어렵거나 생소한 용어는 ‘노트’ 코너를 통해 추가 설명하여 이해를 도왔다.
각 장의 마무리는 도전 퀴즈와 미션으로 장의 내용을 완벽히 이해했는지 확인하고 다른 응용력도 키울 수 있도록 구성하여 교재로 사용하기에도 적합하다. 이 책의 명쾌한 설명들은 하둡이 탄생할 때부터 함께한 저자의 노하우뿐 아니라 실리콘밸리에서 일하기 전, 한국에서 했던 강의와 집필 경험 덕분이기도 하다.

첫째마당의 1장에서는 빅데이터가 무엇인지 정의부터 시작해서 빅데이터의 예를 들고 빅데이터 시스템의 구성과 성공 사례, 관련 기업 등에 대해 설명한다. 2장에서는 빅데이터를 처리하는 근간이 되는 하둡이 무엇인지에 대해 조금 더 기술적인 측면에서 분산파일 시스템인 HDFS(Hadoop Distributed File System)와 분산처리 시스템인 MapReduce 프레임워크에 대해 소개한다. 3장에서는 실제로 리눅스 우분투 환경에서 하둡을 설치하는 과정을 설명한다. MS 윈도우 컴퓨터만 있는 독자라면 부록을 참고해서 VM 매니저의 설치 후에 우분투를 게스트 운영체제로 설치하고 그 다음에 3장의 설치과정을 반복하면 된다. 4장에서는 하둡 환경에서 처음 프로그래밍으로 주어진 텍스트에서 단어들의 빈도수를 계산하는 WordCount라는 프로그램을 자바로 구현한다.

둘째마당에서는 자바를 기반으로 하둡 MapReduce 프로그래밍에 대해 더 자세히 배운다. 5장에서는 4장에서 만든 WordCount를 바탕으로 하둡 MapReduce의 내부동작에 대해 좀더 자세히 배우며 하둡의 소스를 바탕으로 내부 동작을 설명한다. 6장과 7장에서는 위키피디아 영문 문서들을 대상으로 다양한 하둡 프로그래밍(MapReduce)을 한다. 6장에서는 보다 기본적인 프로그래밍들을 배우고 7장에서는 조금 더 진보된 주제들(2차 소팅, ElasticSearch와의 연동 등)을 다룬다.

셋째마당의 8장에서는 자바가 아닌 다른 MapReduce 프로그래밍 언어로는 어떤 것이 있는지 알아본다. 하둡 스트리밍과 Pig에 대해서는 WordCount 프로그램을 실제로 구현해보고 실행해보면서 하둡의 또 다른 예를 자세히 소개한다. 9장에서는 아마존의 AWS에서 제공하는 클라우드 하둡 서비스인 ElasticMapReduce에 대해서 설명한다.
마지막으로 부록에서는 MS 윈도우에서 VM 머신을 설치하고 그 위에 우분투를 설치하는 방법에 대해 단계별로 설명한다.

추천사
해외 석학 초청 강연에서 만난 한기용 씨의 하둡 강좌, 단계적으로 설명하고 바로 응용할 수 있어, 입문하기에 아주 적합
하둡 및 관련 기술을 사용하는 방법에 대한 많은 문헌이 있지만 어떻게 활용하는 것이 진정한 ‘빅데이터 기술화’가 가능한지 파악하는 것은 쉽지 않습니다. 특히, 필자처럼 최신 기술을 학생들에게 전달해야 하는 대학교수의 입장에서 범람하는 기술 서적들 중에서 적당한 교재를 찾아내는 것은 가장 중요한 일이자 어려운 일입니다. 전체 내용을 한 학기 동안의 수업으로 정리하는 것도 쉽지 않습니다. 빅데이터 기술은 복잡한 성격과 기술의 다양성 때문에 더욱 교재화하기에 어려운 분야입니다. 2012년, 해외 석학 초청 강연 시리즈에서 들은 한기용 씨의 빅데이터 기술 습득과 전달에 대한 강연은 아주 반가운 깨달음을 주었습니다.
한기용 씨가 집필한 《Do it 직접 해보는 하둡 프로그래밍》은 빅데이터 분야의 핵심 기술 입문 교육 교재로 쓰기에 아주 적합한 내용으로 구성되었습니다. 하둡의 모든 내용을 담으려고 백과사전식으로 서술하지 않고 꼭 필요한 기술을 단계적으로 설명하여 바로 응용할 수 있도록 배려했습니다. 실리콘밸리에서 10여 년간 검색엔진 분야, 인터넷 서비스 분야의 가장 진보한 기술적 경험이 축적되어 그대로 책에 녹아들어 있습니다. 특히, 빅데이터 기술로 가치를 창출했던 실무 경험을 바탕으로 기술적 서술의 어려운 점을 극복하여 유용합니다.
- 국민대학교 컴퓨터공학부 부교수, 임성수

학부생 또는 대학원생의 컴퓨터공학 전공 초보자에게 적합한 책
구체적인 기술에 대한 갈망으로 많은 하둡 책들을 읽어보았지만, 학부생이나 대학원생이 공부하기에 적당한 책은 없었습니다. 한기용 선배가 집필하신 이 책의 내용을 보면서 드디어 희망이 보이기 시작했습니다. 이 책 내용은 빅데이터 문제, 하둡 설치, 아마존 AWS 이용방법, WordCount 예제를 기반으로 하는 초급에서 고급 MapReduce 프로그래밍 기술, 자바가 아닌 MapReduce 접근 방법 등을 쉽게 이해하고 직접 실습할 수 있게 해주었습니다. 제가 2012년도에 4학년 대상으로 하둡을 수업하면서 마땅한 교재가 없어서 고생했는데, 이 책이 빨리 나왔으면 좋았겠다고 생각합니다.
한기용 선배가 야후에서의 오랜 경험을 기반으로 하둡 프로그래밍 입문서를 출판했습니다. 제가 학생들에게 자주 하는 말(야구에서 메이저리그를 생각하듯이 IT에서도 실리콘밸리를 꿈꿔라)처럼 시작이 반이라고 했습니다. 오늘 이 책이 여러분의 미래에 대한 작은 시작이 될 것입니다.
- 충남대학교 컴퓨터공학과 부교수, 이영석
[교보문고에서 제공한 정보입니다.]

목차정보

첫째마당
빅데이터와 하둡 이해하기

01장 빅데이터란?

01-1 빅데이터의 정의
01-2 빅데이터의 예
01-3 빅데이터 시스템의 구성
01-4 몇 가지 성공 스토리들
01-5 빅데이터 시스템 도입에서 얻은 교훈과 문제점
01-6 빅데이터 시장에서 중요한 역할을 하는 기관/회사들
마무리

02장 하둡 이해하기
02-1 하둡이란?
02-2 하둡 아키텍처
02-3 HDFS 개요
02-4 MapReduce 프레임워크
02-5 MapReduce 사용 적합 분야와 부적합 분야
마무리

03장 하둡 설치하기
03-1 설치 환경
03-2 하둡 다운로드 및 필요 소프트웨어 설치
03-3 독자 모드 설치와 확인
03-4 의사 분산 모드 설치와 확인
마무리
4장 첫 번째 MapReduce 프로그래밍 - WordCount
04-1 맵과 리듀스
04-2 WordCount 프로그램이란?
04-3 자바 MapReduce 프로그램의 기본 골격
04-4 WordCount 소스 프로그램 보기
04-5 WordCount 프로그램의 컴파일과 실행
04-6 전체 소스 코드 리스트
마무리

둘째마당
자바 MapReduce 프로그래밍
05장 WordCount 프로그램 자세히 보기

05-1 맵 클래스 다시 살펴보기
05-2 MapReduce 프로그래밍에서 사용되는 변수 타입들
05-3 입력 포맷의 역할
05-4 컴바이너란?
05-5 셔플링과 소팅
05-6 리듀스 클래스 자세히 보기
05-7 출력 포맷
05-8 카운터
05-9 MRUnit과 메이븐
05-10 잡 트래커 웹 인터페이스
마무리

06장 기본 MapReduce 프로그래밍
06-1 사용 데이터 설명
06-2 WordCount 2 프로그램
06-3 TopN 프로그램
06-4 Count Trigram 프로그램
06-5 Count Citation 프로그램
06-6 Join ID & Title 프로그램
마무리

07장 고급 MapReduce 프로그래밍
07-1 MapReduce 프레임워크를 이용한 문자열 소팅
- StringSort 프로그램
07-2 분산 캐시를 이용한 조인 - JoinIDTitle2
07-3 역색인 만들기 - Inverted Index 버전 1
07-4 역색인 만들기 - Inverted Index 버전 2
07-5 역색인 만들기 - Inverted Index 버전 3
07-6 검색엔진 색인 만들기 - CreateESIndex
마무리

셋째마당
Pig, 스트리밍,
아마존 ElasticMapReduce 프로그래밍
08장 Pig, 스트리밍 MapReduce 프로그래밍 언어
08-1 자바 이외의 다른 프로그래밍 언어들
08-2 스트리밍 프로그래밍
08-3 Pig 프로그래밍
마무리

09장 아마존 ElasticMapReduce 사용해보기
09-1 클라우드 컴퓨팅이란?
09-2 아마존의 AWS 소개
09-3 ElasticMapReduce 소개
09-4 ElasticMapReduce : 위저드
09-5 ElasticMapReduce : 루비 클라이언트
마무리

1장~9장 마무리
부록 - MS 윈도우에서 하둡 설치하기
[교보문고에서 제공한 정보입니다.]