[빅데이터 처리와 분석을 위한]
하둡 맵리듀스 프로그래밍
- 원서명Hadoop MapReduce Cookbook (ISBN 9781849517287)
- 지은이스리나스 페레라, 실리나 기나라스네
- 옮긴이안건국, 배경숙
- ISBN : 9788960774308
- 35,000원
- 2013년 05월 21일 펴냄 (절판)
- 페이퍼백 | 388쪽 | 188*235mm
- 시리즈 : acorn+PACKT, 데이터 과학, 클라우드 컴퓨팅
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
하둡 에코시스템을 사용해 크고 복잡한 데이터셋을 처리하는 원스톱 가이드로서, 간단한 예제를 소개하고 빅데이터 처리 분석 사례를 자세히 살펴본다. 이 책에서는 HBase와 하이브(Hive), 피그(Pig), 머하웃(Mahout) 등 하둡 에코시스템의 구성 요소를 다루는 방법을 설명한다. 그런 다음 하둡 맵리듀스 연산을 수행하기 위한 클라우드 환경을 설정하는 방법을 배우고, 실제 사례를 들어 크고 복잡한 데이터셋을 처리하는 방법을 설명한다.
[ 이 책에서 다루는 내용 ]
■ 예제를 실행하기 위해 하둡 맵리듀스와 HDFS를 설치하는 방법
■ 하둡과 HDFS를 안전하게 구성하고 관리하는 방법
■ 하둡 내부와 하둡이 요구 사항을 어떻게 적절히 확장하는지 이해
■ 쉽고 효율적으로 처리하기 위한 HBase와 하이브, 피그(Pig), 머하웃(Mahout), 너치(Nutch)의 사용 방법
■ 분석 문제의 다양한 유형을 해결하기 위한 맵리듀스 사용 방법
■ 분류와 관계 발견, 온라인 마케팅, 추천 같은 복잡한 문제 해결
■ 하둡 연산을 실행하기 위한 클라우드 환경 사용 방법
[ 이 책의 대상 독자 ]
빅데이터에 관심이 있는 사람과 하둡 프로그래머를 위한 책이다. 이 책은 하둡 기반에서 전혀 개발 경험이 없거나, 하둡과 맵리듀스에 대해 알고는 있지만 하둡과 관련해 뭔가를 시도하고 자세한 내용을 알기 원하는 자바 개발자를 위한 책이다. 또한 대부분의 하둡 작업을 원스톱으로 참조할 수 있다.
[ 이 책의 구성 ]
1장, '하둡 시작과 클러스터'에서 실행에서는 클러스터와 싱글 노드에서 하둡을 설치하고 실행하는 방법을 설명한다.
2장, '고급 HDFS'에서는 하둡 맵리듀스로 대규모 데이터를 처리할 때뿐만 아니라 맵리듀스를 사용하지 않는 사례에도 유용한 고급 HDFS 작업을 소개한다.
3장, '고급 하둡 맵리듀스 관리'에서는 하둡 설치 시 하둡의 구성과 보안 변경, 디버깅 방법을 설명한다.
4장, '복잡한 하둡 맵리듀스 애플리케이션 개발'에서는 사용자 정의의 효율적인 맵리듀스 애플리케이션을 개발하기 위한 고급 하둡 맵리듀스 기능 몇 가지를 소개한다.
5장, '하둡 에코시스템'에서는 HBase, 하이브, 피그 등 하둡과 관련된 다른 프로젝트를 소개한다.
6장, '분석'에서는 하둡을 사용해 기본적인 분석을 하는 방법을 설명한다.
7장, '검색과 색인'에서는 대규모 검색과 색인을 수행하는 아파치 하둡에서 사용할 수 있는 몇 가지 도구와 기술을 소개한다.
8장, '분류, 추천, 관계 분석'에서는 하둡을 사용해 분류와 추천, 관계 분석 등과 같은 복잡한 알고리즘을 구현하는 방법을 알아본다.
9장, '대용량 텍스트 데이터 처리'에서는 하둡과 머하웃(Mahout)를 사용해 대용량 텍스트 데이터셋을 처리하는 방법과 하둡을 사용해 데이터를 전처리하고 로딩하는 방법을 알아본다.
10장, '클라우드 환경에서 하둡 배포'에서는 아마존 일래스틱 맵리듀스(Elastic MapReduce, EMR)와 아파치 Whirr로 클라우드 인프라 환경에서 하둡 맵리듀스와 피그, 하이브, HBase 연산을 실행하는 방법을 알아본다.
[ 이 책에서 다루는 내용 ]
■ 예제를 실행하기 위해 하둡 맵리듀스와 HDFS를 설치하는 방법
■ 하둡과 HDFS를 안전하게 구성하고 관리하는 방법
■ 하둡 내부와 하둡이 요구 사항을 어떻게 적절히 확장하는지 이해
■ 쉽고 효율적으로 처리하기 위한 HBase와 하이브, 피그(Pig), 머하웃(Mahout), 너치(Nutch)의 사용 방법
■ 분석 문제의 다양한 유형을 해결하기 위한 맵리듀스 사용 방법
■ 분류와 관계 발견, 온라인 마케팅, 추천 같은 복잡한 문제 해결
■ 하둡 연산을 실행하기 위한 클라우드 환경 사용 방법
[ 이 책의 대상 독자 ]
빅데이터에 관심이 있는 사람과 하둡 프로그래머를 위한 책이다. 이 책은 하둡 기반에서 전혀 개발 경험이 없거나, 하둡과 맵리듀스에 대해 알고는 있지만 하둡과 관련해 뭔가를 시도하고 자세한 내용을 알기 원하는 자바 개발자를 위한 책이다. 또한 대부분의 하둡 작업을 원스톱으로 참조할 수 있다.
[ 이 책의 구성 ]
1장, '하둡 시작과 클러스터'에서 실행에서는 클러스터와 싱글 노드에서 하둡을 설치하고 실행하는 방법을 설명한다.
2장, '고급 HDFS'에서는 하둡 맵리듀스로 대규모 데이터를 처리할 때뿐만 아니라 맵리듀스를 사용하지 않는 사례에도 유용한 고급 HDFS 작업을 소개한다.
3장, '고급 하둡 맵리듀스 관리'에서는 하둡 설치 시 하둡의 구성과 보안 변경, 디버깅 방법을 설명한다.
4장, '복잡한 하둡 맵리듀스 애플리케이션 개발'에서는 사용자 정의의 효율적인 맵리듀스 애플리케이션을 개발하기 위한 고급 하둡 맵리듀스 기능 몇 가지를 소개한다.
5장, '하둡 에코시스템'에서는 HBase, 하이브, 피그 등 하둡과 관련된 다른 프로젝트를 소개한다.
6장, '분석'에서는 하둡을 사용해 기본적인 분석을 하는 방법을 설명한다.
7장, '검색과 색인'에서는 대규모 검색과 색인을 수행하는 아파치 하둡에서 사용할 수 있는 몇 가지 도구와 기술을 소개한다.
8장, '분류, 추천, 관계 분석'에서는 하둡을 사용해 분류와 추천, 관계 분석 등과 같은 복잡한 알고리즘을 구현하는 방법을 알아본다.
9장, '대용량 텍스트 데이터 처리'에서는 하둡과 머하웃(Mahout)를 사용해 대용량 텍스트 데이터셋을 처리하는 방법과 하둡을 사용해 데이터를 전처리하고 로딩하는 방법을 알아본다.
10장, '클라우드 환경에서 하둡 배포'에서는 아마존 일래스틱 맵리듀스(Elastic MapReduce, EMR)와 아파치 Whirr로 클라우드 인프라 환경에서 하둡 맵리듀스와 피그, 하이브, HBase 연산을 실행하는 방법을 알아본다.
목차
목차
- 1 하둡 시작과 클러스터에서 실행
- 소개
- 하둡 설치
- WordCount MapReduce 예제 작성, 패키징, 하둡 실행
- WordCount 맵리듀스에 컴바이너 추가
- HDFS 설정
- HDFS 모니터링 UI
- HDFS 커맨드라인 명령
- 분산 클러스터 환경에서 하둡 설정
- 분산 클러스터에서 WordCount 실행
- 맵리듀스 모니터링 UI
- 2 고급 HDFS
- 소개
- HDFS 벤치마크
- 새로운 데이터 노드 추가
- 데이터 노드의 해지
- 다중 디스크/볼륨 사용과 HDFS 디스크 사용량 제한
- HDFS 블록 크기 설정
- 파일 복제 계수 설정
- HDFS 자바 API 사용
- HDFS C API 사용(libhdfs)
- HDFS 퓨즈 마운트(Fuse-DFS)
- HDFS에서 파일 병합
- 3 고급 하둡 맵리듀스 관리
- 소개
- 클러스터 배포를 위한 하둡 구성 튜닝
- 하둡 설치를 확인하기 위한 벤치마크 수행
- 성능 향상을 위한 Java VM 재사용
- 장애 허용과 투기적 실행
- 디버깅 스크립트: 태스크 실패 분석
- 실패율 설정과 잘못된 레코드 건너뛰기
- 공유 사용자를 위한 하둡 클러스터: 페어 스케줄러와 캐패시터 스케줄러 사용
- 하둡 보안: 커버로스와 통합
- 하둡 Tool 인터페이스 사용
- 4 복잡한 하둡 맵리듀스 애플리케이션 개발
- 소개
- 하둡 데이터 타입 선택
- 사용자 정의 Writable 데이터 타입 구현
- 사용자 정의 키 타입 구현
- 매퍼에서 다양한 값 타입 내보내기
- 입력 데이터 포맷에 따른 하둡 InputFormat 선택
- 새로운 입력 데이터 포맷 추가: 사용자 정의 InputFormat 구현
- 맵리듀스 결과 포맷팅: 하둡 OutputFormats 사용
- 맵과 리듀스 중간 데이터 파티셔닝
- 맵리듀스 잡의 공유 자원 배포와 분산: 하둡 DistributedCache
- 하둡 레거시 애플리케이션 사용: 하둡 스트리밍
- 맵리듀스 잡 사이의 의존성 추가
- 사용자 정의 통계를 리포팅하기 위한 하둡 카운터
- 5 하둡 에코시스템
- 소개
- HBase 설치
- 자바 클라이언트 API로 데이터 랜덤 액세스
- HBase에서 맵리듀스 실행
- 피그 설치
- 피그 명령어 실행
- 피그 조인(join), 유니온, 정렬 작업
- 하이브 설치
- 하이브로 SQL 스타일 쿼리 실행
- 하이브 조인 수행
- 머하웃 설치
- 머하웃 K-means 실행
- K-means 결과 시각화
- 6 분석
- 소개
- 맵리듀스를 이용한 간단한 분석
- 맵리듀스를 이용한 Group-By 수행
- 맵리듀스를 이용한 빈도 분포 계산과 정렬
- GNU Plot을 사용한 하둡 결과 도식
- 맵리듀스를 이용한 히스토그램 계산
- 맵리듀스를 이용한 산점도 계산
- 하둡으로 복잡한 데이터셋 구문 분석
- 맵리듀스를 이용한 두 데이터셋 조인
- 7 검색과 색인
- 소개
- 하둡 맵리듀스를 사용해 역색인 생성
- 아파치 너치를 사용해 인트라 도메인의 웹 크롤링
- 아파치 솔라를 이용한 웹 문서 색인과 검색
- 아파치 너치에서 백엔드 데이터 저장소로 아파치 HBase 설정
- 하둡 클러스터에서 아파치 HBase 배포
- 하둡/HBase 클러스터를 이용해 아파치 너치로 전체 웹 크롤링
- 색인과 검색을 위한 일래스틱서치
- 크롤링 웹 페이지의 in-link 생성
- 8 분류, 추천, 관계 분석
- 소개
- 콘텐트 기반 추천
- 계층적 클러스터링
- 아마존 세일즈 데이터셋 클러스터링
- 협업 필터링 기반 추천
- 나이브 베이즈 분류
- 애드워즈 균형 알고리즘을 사용한 키워드 광고
- 9 대용량 텍스트 데이터 처리
- 소개
- 하둡 스트리밍과 파이썬을 이용한 데이터 전처리(추출, 정제, 형식 변환)
- 하둡 스트리밍을 이용한 데이터 중복 제거
- Importtsv와 bulkload 도구를 사용해 아파치 HBase 데이터 저장소에 대용량 데이터셋 로드
- 텍스트 데이터의 TF와 TF-IDF 벡터 생성
- 텍스트 데이터 클러스터링
- 잠재 디리클레 할당(LDA)을 사용한 주제 검색
- 머하웃 나이브 베이스 분류기를 이용한 문서 분류
- 10 클라우드 환경에서 하둡 배포
- 소개
- 아마존 일래스틱 맵리듀스(EMR)를 사용해 하둡 맵리듀스 실행
- EMR 잡 플로우를 실행하기 위해 아마존 EC2 스팟 인스턴스를 사용해 비용 절약
- EMR을 사용해 피그 스크립트 실행
- EMR을 사용해 하이브 스크립트 실행
- 커맨드라인 인터페이스를 사용해 아마존 EMR 잡 플로우 생성
- EMR을 사용해 아마존 EC2 클라우드에 아파치 HBase 설치
- 아마존 EMR 잡의 VM 설정을 위한 EMR의 부트스트랩 사용
- 클라우드 환경에서 아파치 하둡 클러스터를 배포하기 위한 아파치 Whirr 사용