스파크 2.0으로 하는 고속 스마트 빅데이터 분석과 처리 3/e [표준 SQL과 진화한 데이터 표현 지원]
- 원서명Fast Data Processing with Spark 2 - Third Edition (ISBN 9781785889271)
- 지은이크리슈나 산카르(Krishna SanKar)
- 옮긴이조효성
- ISBN : 9791161750569
- 30,000원
- 2017년 09월 22일 펴냄 (절판)
- 페이퍼백 | 356쪽 | 188*235mm
- 시리즈 : acorn+PACKT
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
소스 코드 파일은 여기에서 내려 받으실 수 있습니다.
요약
기존의 스파크 버전 1.X 버전에서 좀 더 업그레이드 되어 빅데이터를 고속으로 처리할 수 있는 다양한 기능을 제공한다. 기능이 확장된 MLlib와 그래프 X를 이용해서 다양한 정형, 비정형 데이터를 분석할 수 있고, 특히 데이터 과학자들과 데브옵스 엔지니어가 필요할 수 있는 파큇과 같은 데이터 포맷과 필요한 데이터를 다양한 데이터 포맷으로 로딩할 수 있는 스파크 SQL 기능을 설명하고 있다. 마지막으로 케이스 스터디에는 알파고 트윗 분석을 통해 독자의 지적 호기심을 채워줄 수 있을 뿐 아니라 실무 개발자에게 유용한 가이드 역할을 제공하고 있어, 빅데이터 분석을 학습하는 초보자와 현업에서 사용하고 있는 개발자에게 유용한 정보를 제공한다.
이 책에서 다루는 내용
■ 독자의 클러스터 환경에서 스파크를 설치하고 환경 설정하는 방법
■ 스파크 셸을 이용한 분산 형태의 애플리케이션 프로토타입 개발
■ 새로운 데이터프레임 API를 이용한 데이터 랭글링
■ 스파크 분산 표현 데이터(RDDs)를 이용해서 통신할 수 있는 다양한 방법 분석
■ SQL 형태의 쿼리 문법 기반의 스파크 쿼리
■ 스파크가 빅 데이터를 처리하는 방법
■ 데이터 과학자와 데이터 엔지니어가 스파크 프레임워크를 활용할 수 있는 방법
■ 고 확장성 알고리즘을 이용한 머신 러닝 시스템 구현
■ 스파크와 연동할 수 있는 유명한 통계 언어 R 사용
■ 그래프 엑스를 이용한 흥미로운 그래프 알고리즘과 그래프 데이터 처리 기법 적용
이 책의 대상 독자
스파크 초보자인 데이터 과학자와 데이터 엔지니어라면 이 책으로 스파크의 장점을 배울 수 있다. 빅데이터와 데이터 분석 경험이 있다면 이 책에서 데이터 패턴과 프라그마(pragmas)를 경험할 수 있다. 분산 프로그래밍을 이해하고 싶은 사람이면 다양한 예제 코드와 이 책의 정독을 통해 누구든 원하는 바를 얻을 수 있다.
이 책의 구성
1장, '스파크 설치와 클러스터 설정'에서는 스파크 설정에 필요한 방법들을 상세히 설명한다.
2장, '스파크 셸'에서는 스파크 커맨드라인을 설명한다. 스파크 셸은 프로그램 조각을 빠르게 작성하거나 메소드 호출 문법을 쌍방으로 이해할 때 유용하다.
3장, '스파크 애플리케이션 구현과 동작'에서는 스파크 애플리케이션을 컴파일하는 모든 방법을 다룬다.
4장, 'SparkSession 생성'에서는 SparkSession과 별도의 독립적인 Spark Context를 고려해서 스파크 서버와 연결하는 프로그램적인 측면을 설명한다.
5장, '스파크의 데이터 로딩과 저장'에서는 스파크 환경에서 데이터 수집과 배포 처리를 다룬다.
6장, 'RDD 변경'에서는 모든 마술이 일어나는 기저 데이터 추상 계층인 회복 가능한 분산 데이터셋(RDD)을 설계하는 방법을 설명한다.
7장, '스파크 2.0 컨셉'에서는 스파크의 혁명과 주요 마일스톤인 스파크 2.0 배포판을 떠받치는 모든 개념을 설명하는 짧지만 흥미로운 장이다.
8장, '스파크 SQL'에서는 스파크의 SQL 인터페이스를 다룬다. 스파크 SQL은 분명 가장 폭넓게 사용되고 있는 특징이다.
9장, '데이터셋과 데이터프레임의 기초: 데이터 과학자를 위한 핵심 가치'에서는 스파크 2.0 배포 버전에 추가된 데이터셋과 데이터프레임을 소개한다.
10장, '빅데이터를 위한 스파크'에서는 파큇(Parquet)과 HBase의 인터페이스를 설명한다.
11장, '스파크 ML 파이프라인을 이용한 머신 러닝'에서는 회귀, 분류, 클러스터링, 추천을 설명한다. 11장은 이 책에서 가장 내용이 많은 장일 것이다. 독자가 외딴 섬에 좌초돼 이 책의 한 개 장만 취할 수 있다면 그것은 바로 11장일 것이다.
12장, '그래프X'에서는 규모가 있는 그래프를 처리하는 주요 기능을 설명하면서 페이지랭크(PageRank)와 같은 흥미로운 알고리즘도 다룬다.
부록, '스파크 버전 2.2.0 소개'에서는 최근 공개된 스파크 버전 2.2.0을 간단히 요약해 소개하고, 업데이트된 내용을 간단히 정리해서 보여준다.
목차
목차
- 1장. 스파크 설치와 클러스터 설정
- 폴더 구조와 규약
- 미리 빌드된 배포 버전 설치
- 스파크 소스 빌드
- 스파크 소스 다운로드
- 메이븐 환경에서 스파크 소스 컴파일
- 컴파일 스위치
- 스파크 설치 테스트
- 스파크 토폴로지
- 싱글 머신
- EC2에서 스파크 구동
- EC 스크립트 다운로드
- EC2 스크립트로 EC2 환경에서 스파크 구동
- 일래스틱 맵리듀스 환경에 스파크 배포
- 체프(옵스코드)를 이용한 스파크 배포
- 메소스 환경에서 스파크 배포
- 얀 환경에서 스파크 구동
- 스파크 독립 모드
- 참고 자료
- 요약
- 2장. 스파크 셸
- 스파크 셸
- 스파크 셸 종료
- 스파크 셸을 이용한 예제 코드 실행
- 단순한 텍스트 파일 로딩
- S3에서 대화 형태로 데이터 로딩
- 파이썬을 이용한 스파크 셸 구동
- 요약
- 스파크 셸
- 3장. 스파크 애플리케이션 구현과 동작
- 스파크 애플리케이션 구현
- 아이파이썬을 이용한 데이터 랭글링
- 이클립스를 이용한 스파크 개발
- 기타 IDE를 이용한 스파크 개발
- 메이븐을 이용한 스파크 잡 개발
- 기타 개발 도구를 이용한 스파크 잡 개발
- 참고 자료
- 요약
- 4장. SparkSession객체 생성
- SparkSession과 SparkContext
- SparkSession 객체 생성
- 스파크컨텍스트의 메타데이터
- 공유 자바 API와 스칼라 API
- 파이썬
- 아이파이썬
- 참고 자료
- 요약
- 5장. 스파크의 데이터 로딩과 저장
- 스파크 추상화
- RDDs
- 데이터 유형
- 데이터 유형과 데이터셋, 데이터프레임, RDD
- 데이터를 RDD에 로딩
- 데이터 저장
- 참고 자료
- 요약
- 스파크 추상화
- 6장. RDD 조작
- 스칼라와 자바를 이용한 RDD 조작
- 스칼라 RDD 메소드
- PairRDD 클래스를 조합하는 메소드
- 기타 PairRDD 메소드
- 더블 RDD 메소드
- 범용 RDD 메소드
- 자바 RDD 메소드
- 파이썬을 이용한 RDD 조작
- 표준 RDD 메소드
- PairRDD 메소드
- 참고 자료
- 요약
- 스칼라와 자바를 이용한 RDD 조작
- 7장. 스파크 2.0 컨셉
- 이 책의 나머지에서 다룰 코드와 데이터셋
- 코드
- IDE
- 아이파이썬 스타트업과 테스트
- 데이터셋
- 데이터 과학자와 스파크 특징
- 데이터 과학자 데브옵스 실무자는 누구인가?
- 데이터 레이크 아키텍처
- 스파크 버전 2.0과 그 이상
- 아파치 스파크: 진화
- 아파치 스파크: 풀 스택
- 빅데이터 저장소의 예술: 파큇
- 칼럼 프로젝션과 데이터 파티션
- 압축
- 스마트한 데이터 스토리지와 서술 푸시다운
- 스키마 진화를 위한 지원
- 성능
- 참고 자료
- 요약
- 이 책의 나머지에서 다룰 코드와 데이터셋
- 8장. 스파크 SQL
- 스파크 SQL 아키텍처
- 명확한 스파크 SQL 사용 방법
- 스파크 2.0의 스파크 SQL
- 스파크 SQL 프로그래밍
- 데이터셋과 데이터프레임
- 간단한 데이터 테이블에 접근할 수 있는 SQL
- 참고 자료
- 요약
- 9장. 데이터셋과 데이터프레임의 기초: 데이터 과학자를 위한 핵심 가치
- 데이터셋: 간단한 소개
- 데이터셋 API: 개요
- org.apache.spark.sql.SparkSession과 pyspark.sql.SparkSession
- org.apache.spark.sql.Dataset/pyspark.sql.DataFrame
- org.apache.spark.sql.{Column, Row}/pyspark.sql.(Column, Row)
- org.apache.spark.sql.functions/pyspark.sql.functions
- 데이터셋 인터페이스와 메소드
- 읽기/쓰기 동작
- 통합 메소드
- 통계 메소드
- 수학 메소드
- 데이터셋을 이용한 데이터 랭글링
- 원하는 모든 대답을 위한 마지막 데이터 통합
- 참고 자료
- 요약
- 10장. 빅데이터를 위한 스파크
- 파큇:효과적이면서 상호 운용할 수 있는 빅데이터 포맷
- 파큇 포맷으로 파일 저장
- 파큇 파일 로딩
- 처리를 완료한 RDD를 파큇 포맷으로 저장
- HBase
- HBase에서 데이터 로딩
- 데이터를 HBase에 저장
- 기타 HBase 동작
- 참고 자료
- 요약
- 파큇:효과적이면서 상호 운용할 수 있는 빅데이터 포맷
- 11장. 스파크 ML 파이프라인을 이용한 머신 러닝
- 스파크의 머신 러닝 알고리즘 테이블
- 스파크 머신 러닝 API: ML 파이프라인과 MLlib
- ML 파이프라인
- 스파크 ML 예시
- API 알고리즘
- 기본적인 통계
- 데이터 로드
- 통계 계산
- 선형 회귀
- 데이터 변환과 특징 추출
- 데이터 분리
- 회귀 모델을 이용한 예측
- 모델 평가
- 데이터 분류
- 데이터 로드
- 데이터 변환과 특징 추출
- 데이터 분리
- 회귀 모델
- 회귀 모델을 이용한 예측
- 모델 평가
- 클러스터링
- 데이터 로드
- 데이터 변환과 특징 추출
- 데이터 분리
- 회귀 모델을 이용한 예측
- 모델 평가와 해석
- 모델 해석 클러스터링
- 추천
- 데이터 로드
- 데이터 변환과 특징 추출
- 데이터 분리
- 모델을 이용한 예측
- 모델 평가와 해석
- 하이퍼 파라미터
- 마지막으로 알아둘 것
- 참고 자료
- 요약
- 12장. 그래프X
- 그래프와 그래프 처리 개요
- 스파크 그래프X
- 그래프X: 연산 모델
- 첫 번째 예시:그래프
- 그래프 구성
- 그래프X API의 전체 구조
- 구조적인 API
- 출력 결과에 어떤 문제가 있는가?
- 커뮤니티, 연합, 내구성
- 알고리즘
- 그래프 병렬 계산 API
- 파티션 전략
- 케이스 스터디:알파고 트윗 분석
- 데이터 파이프라인
- 그래프X 모델링
- 그래프X처리와 알고리즘
- 참고 자료
- 요약