Spark로 하는 고속 빅데이터 분석과 처리 [분산 클라우드 환경의 고속 클러스터 컴퓨팅]
- 원서명Fast Data Processing with Spark (ISBN 9781782167068)
- 지은이홀든 카로(Holden Karau)
- 옮긴이조효성
- ISBN : 9788960776524
- 15,000원
- 2014년 12월 30일 펴냄 (절판)
- 페이퍼백 | 144쪽 | 188*235mm
- 시리즈 : acorn+PACKT, 데이터 과학
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
예제 코드
요약
이 책은 하둡의 처리속도보다 최대 100배 이상 빨라진 고속의 범용 클러스터 컴퓨팅 시스템을 제공하는 아파치 스파크(Spark)의 입문서이다. 스파크 시스템을 이용하면 SQL과 같은 데이터를 처리하는 툴 사용, 구조화된 데이터 처리, 머신 러닝, 그래프 데이터 프로세싱을 할 수 있다. 웹 개발자에게 익숙한 자바, 스칼라, 파이썬을 이용해서 로컬 환경뿐 아니라 클러스터 환경에서 고속의 데이터 분석을 할 수 있으므로 빅데이터를 학습하는 학생부터 현장에서 근무하는 엔지니어까지 좋은 지침서로 활용할 수 있다.
이 책에서 다루는 내용
■ 스파크의 인터랙티브 셸을 이용한 분산 애플리케이션의 프로토타이핑 방법
■ 스파크의 분산 대표 데이터(RDD)를 이용해서 통신할 수 있는 다양한 방법
■ 다양한 데이터 소스에서 데이터를 로드하는 방법
■ SQL과 같은 쿼리 문법을 이용해서 스파크에게 쿼리하는 방법
■ 분산 소프트웨어를 효과적으로 테스트하는 방법
■ 스파크 설치를 튜닝하는 방법
■ 클러스터에 스파크를 설치하고 환경 설정하는 방법
■ 대규모의 데이터를 효과적으로 처리하는 방법
이 책의 대상 독자
이 책은 스파크를 이용해서 분산 프로그램을 개발하는 방법을 배우고자 하는 소프트웨어 개발자를 위한 것이다. 과거에 분산 프로그래밍을 해본 경험이 꼭 필요한 것은 아니다. 단, 이 책은 개발자가 자바, 스칼라, 파이썬에 관한 배경지식이 있다고 가정한다.
이 책의 구성
1장, ‘스파크 설치와 클러스터 설정’ 다양한 머신에서 스파크를 설치하는 방법과 클러스터 설정 방법을 다룬다. 개발 환경에 적합한 로컬 단일 노드 배포부터 EC2 클러스터에 대한 셰프(Chef)가 관리하는 대규모 클러스터까지 모두 아울러 설명한다.
2장, ‘스파크 셸 사용’ 상호작용 모드에서 첫 번째로 스파크 잡을 동작시킨다. 스파크 셸은 빠르고 유용한 디버깅 도구로서, 특히 스파크를 처음 접할 때 상당히 편리하다.
3장, ‘스파크 앱 개발과 실행’ 스파크 클러스터 환경에서 프로덕션 목적에 적합한 독립적인 잡의 구성 방법을 설명한다. 스파크 셸이 빠른 프로토타입 구성에 적합한 도구일지라도 독립적인 잡의 구성이 스파크와 상호작용하는 방법의 대부분이 될 것이다.
4장, ‘스파크컨텍스트 생성’ 스파크 클러스터와 연결하는 방법을 설명한다. 스파크컨텍스트(SparkContext)는 프로그램을 위한 스파크 클러스터의 시작점이다.
5장, ‘스파크에 데이터 로딩과 저장’ RDD(Resilient Distributed DataSet)의 생성과 저장 방법을 설명한다. 스파크는 하둡 데이터 소스에서 RDD 로딩을 지원한다.
6장, ‘RDD 조작’ 스파크를 이용해 데이터를 분산환경에서 사용하는 방법을 설명한다. 흥미로운 내용이 가득한 단원이다.
7장, ‘샤크-하이브와 스파크의 연동’ 스파크가 설치된 HiveQL과 호환성이 있는 시스템인 샤크(Shark)의 설치방법과 스파크 잡을 하이브(Hive) 쿼리에 결합하는 방법을 설명한다.
8장, ‘테스팅’ 스파크 잡의 테스트 방법을 다룬다. 분산 태스크의 디버깅은 상당히 까다롭기 때문에 테스팅 과정은 매우 중요하다.
9장, ‘팁과 요령’ 스파크 태스크의 성능 향상 방법을 살펴본다.
목차
목차
- 1장 스파크 설치와 클러스터 설정
- 싱글 머신에서 스파크 구동
- EC2 환경에서 스파크 구동
- EC2 환경에서 스크립트를 이용한 스파크 구동
- 탄력적 맵리듀스에서 스파크 사용
- Chef를 연동한 스파크 배치(opscode)
- Mesos에서 스파크 사용
- YARN에서 구동하는 스파크 사용
- SSH를 통한 머신 집합 사용
- 링크와 레퍼런스
- 요약
- 2장 스파크 셸 사용
- 텍스트 파일 로딩
- 로지스틱 회귀 분석을 위한 스파크 셸 사용
- S3 데이터의 양단간 로딩
- 요약
- 3장 스파크 앱 개발과 실행
- sbt를 이용한 스파크 프로젝트 생성
- 메이븐을 이용한 스파크 잡 빌드
- 기타 다른 빌드 시스템을 이용한 스파크 잡 빌드
- 요약
- 4장 스파크컨텍스트 생성
- 스칼라
- 자바
- 공유 자바와 스칼라 API
- 파이썬
- 링크와 참조
- 요약
- 5장 스파크에 데이터 로딩과 저장
- RDDs
- RDD에 데이터를 로딩
- 데이터 저장
- 링크와 참조
- 요약
- 6장 RDD 조작
- 스칼라와 자바를 이용한 RDD 조작
- 스칼라 RDD 메소드
- PairRDD 메소드를 결합하는 메소드
- 그밖의 PairRDD 메소드
- DoubleRDD 메소드
- 일반 RDD 메소드
- 자바 RDD 메소드
- 스파크 자바 메소드 클래스
- 공통 자바 RDD 메소드
- JavaPairRDD 메소드를 조합하는 메소드
- JavaPairRDD 메소드
- 파이썬을 이용한 RDD 수정
- 표준 RDD 함수
- PairRDD 메소드
- 링크와 참조
- 요약
- 스칼라와 자바를 이용한 RDD 조작
- 7장 샤크-하이브와 스파크의 연동
- 하이브/샤크 사용 이유
- 샤크 설치
- 샤크 구동
- 데이터 로딩
- 스파크 프로그램에서 하이브 쿼리 사용
- 링크와 참조
- 요약
- 8장 테스팅
- 자바와 스칼라로 테스트하기
- 테스트 가능성을 위한 코드 리팩토링
- 스파크컨텍스트의 인터렉션 테스팅
- 파이썬을 이용한 테스팅
- 링크와 참조
- 요약
- 자바와 스칼라로 테스트하기
- 9장 팁과 요령
- 로그 저장 위치
- 동시 실행 제약사항
- 메모리 사용과 가비지 콜렉션
- 직렬화
- IDE 통합
- 다른 언어로 스파크 사용
- 보안에 대한 간단한 노트
- 메일링 리스트
- 링크와 참조
- 요약