Storm 실시간 빅데이터 분석 플랫폼 [분산 환경과 머신 러닝을 이용한 데이터 처리]
- 원서명Storm Real-time Processing Cookbook (ISBN 9781782164425)
- 지은이퀸튼 앤더슨
- 옮긴이조효성
- ISBN : 9788960775794
- 30,000원
- 2014년 06월 30일 펴냄 (절판)
- 페이퍼백 | 320쪽 | 188*235mm
- 시리즈 : acorn+PACKT
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
요약
아파치 스톰(Apache Storm)은 분산 환경에서 사용할 수 있는 실시간 빅데이터 분석 플랫폼이다. 분산 환경에서 카산드라(Cassandra), 카프카(Kafka) 등과 같은 다양한 데이터베이스와 연동할 수 있는 기능과 다양한 프로그램 언어로 실시간 데이터 분석 알고리즘을 적용할 수 있어 다양한 프로그램 개발자에게 빅데이터 분석의 장에 참여할 수 있도록 유도하고 있다. 아울러 스택오버플로우(stackoverflow), 소스포지(source forge), 깃허브(github), 그리고 아파치 스톰 커뮤니티를 통해 실질적인 빅데이터 분석 개발에서 마주할 수 있는 문제를 해결할 때 강력한 문제 해결 능력을 제공하고 있어 스톰을 배울 절호의 기회가 될 것이다.
이 책에서 다루는 내용
■ 개발 환경 구축과 이를 이용한 스톰 클러스터 테스트
■ 규칙 기반 데이터 프로세싱 단계를 포함한 데이터 스트림 처리
■ 분산 원격 절차 호출 구축
■ 자바, 클로저, 루비, C++를 이용한 다중 언어 스톰 토폴로지 배포
■ 카산드라와 하둡을 스톰과 연동
■ 캐스케이딩을 이용한 배치 프로세스 기반 용어 중요도 연산 알고리즘 구현
■ 예측 카운팅 모델과 분류 모델의 생성과 설치
■ 스톰을 클라우드에 지속적 통합과 설치에 대한 문제 해결
이 책의 대상 독자
실시간 프로세싱에 관심이 있거나 실시간 프로세싱 개발을 할 때 쓰는 스톰의 사용 방법을 학습하려는 개발자에게는 이상적인 책이다. 이 책은 독자가 자바 개발자라고 가정한다. 클로저, C++, 루비 등의 개발 경력이 있다면 유용하지만 필수적인 사항은 아니다. 하둡이나 유사한 기술에 대한 경력이 있으면 상당히 도움이 된다.
이 책의 구성
1장, 개발 환경 설정: 스톰을 사용할 때 필요한 로컬 개발 환경을 설정하는 과정을 설명하는데, 모든 필요한 도구 설정과 추천하는 개발 워크 플로우까지 설명한다.
2장, 로그 스트림 프로세싱: 기본 통계 대시보드와 로그 검색 기능을 모두 갖춘 로그 스트림 프로세싱 솔루션을 개발하는 과정을 독자에게 설명한다.
3장, 트라이던트를 이용한 어휘 중요도 측정: 제품 수준의 엔터프라이즈 데이터 파이프라인을 사용 가능하도록 스톰에서 동작하는 데이터 플로우 추상인 트라이던트(Trident)를 소개한다.
4장, 분산 원격 처리 호출: 분산 원격 처리 호출을 구현하는 방법을 설명한다.
5장, 다중언어 토폴로지: 다중언어(폴리글랏, Polyglot) 기술을 사용하는 방법과 기존에 존재하는 많은 기술에 새로운 기술을 접목하는 방법을 설명한다.
6장, 스톰과 하둡의 통합: 스톰과 하둡의 결합 방법을 설명해서 완벽한 람다(Lambda) 아키텍처를 생성할 수 있도록 돕는다.
7장, 실시간 머신 러닝: 하나의 주제로 머신 러닝에 대한 간단히 설명하고 스톰 기반의 실시간 프로젝트 내에서 다양한 측면에서 머신 러닝을 구현하는 기법을 설명한다.
8장, 지속적인 배포: 지속적인 배포 파이프라인을 구축하는 방법을 설명하고 스톰 클러스터를 특정 환경에 높은 신뢰도로 배포하는 기법을 설명한다.
9장, AWS를 활용한 스톰 구동: 스톰 클러스터를 아마존 컴퓨팅 클라우드에 자동 제공하는 다양한 기법을 설명한다.
목차
목차
- 1장 개발 환경 설정
- 도입
- 개발 환경 설정
- 분산 버전 컨트롤
- “Hello World” 토폴로지 생성
- 머신을 프로비저닝하는 스톰 클러스터 생성
- 스톰을 프로비저닝하는 스톰 클러스터 생성
- 기초적인 클릭 통계 자료 수집
- 볼트 테스트 유닛
- 통합 테스트 구현
- 클러스터에 테스트 실행
- 2장 로그 스트림 프로세싱
- 도입
- 로그 에이전트 생성
- 로그 스파우트 생성
- 로그 스트림에 대한 규칙 기반 분석
- 로그 데이터의 인덱스화와 지속성 유지
- 로그 통계 자료의 카운팅과 지속
- 로그 스트림 클러스터를 위한 통합 테스트 구현
- 로그 분석 대시보드 개발
- 3장 트라이던트를 이용한 어휘 중요도 측정
- 도입
- 트위터 필터를 이용한 URL 스트림 생성
- 문서에서 클린 스트림 용어 추출하기
- 각 용어의 상대적 중요도 계산하기
- 4장 분산 원격 절차 호출
- 도입
- 요청 프로세싱을 처리하기 위한 분산 원격 절차 호출 사용
- 트라이던트 토폴로지를 이용한 통합 테스트
- 이동 윈도우 토폴로지 구현
- 통합 테스트에서 시간 시뮬레이션
- 5장 다중언어 토폴로지
- 도입
- Qt에서 다중 언어 프로토콜 구현
- Qt로 SplitSentence 볼트 구현하기
- 루비로 카운트 볼트 구현하기
- 클로저로 어휘 카운트 토폴로지 정의하기
- 6장 스톰과 하둡의 통합
- 도입
- 하둡에서 어휘 빈도수-문서 역 빈도수 구현하기
- 스톰의 도큐먼트 유지하기
- 일괄 처리와 실시간 데이터 뷰의 통합
- 7장 실시간 머신 러닝
- 도입
- 트랜잭션 토폴로지 구현
- R을 이용한 랜덤 포리스트 분류 모델 생성
- 랜덤 포리스트를 이용한 트랜잭션 스트림의 동작 분류
- R을 이용한 연관 규칙 모델 설계a
- 추천 엔진 설계
- 실시간 온라인 머신 러닝
- 8장 지속적인 배포
- 도입
- CI 서버 설정
- 시스템 환경 설정
- 배포 파이프라인 정의
- 자동화된 허가 테스트 구현
- 9장 AWS를 활용한 스톰 구동
- 도입
- 파레트를 이용해서 스톰을 아마존 웹 서비스에서 배치하기
- 가상 비공개 클라우드 설치
- 베이그란트를 이용해서 스톰을 가상 비공개 클라우드에 배치하기