서브메뉴

본문

스파크 2.0으로 하는 고속 스마트 빅데이터 분석과 처리 (표준 SQL과 진화한 데이터 표현 지원)
스파크 2.0으로 하는 고속 스마트 빅데이터 분석과 처리 (표준 SQL과 진화한 데이터 표현 지원)
저자 : 크리슈나 산카르
출판사 : 에이콘출판
출판년 : 2017
ISBN : 9791161750569

책소개

기존의 스파크 버전 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을 간단히 요약해 소개하고, 업데이트된 내용을 간단히 정리해서 보여준다.


지은이의 말

아파치 스파크는 데이터 분석과 빅데이터 개발자들의 상상력을 현실로 만들었다. 간단히 말해 스파크를 이용하면 분산 컴퓨팅 기술을 연구실 규모 혹은 제품 레벨로 이용할 수 있다. 지금까지도 수집-저장-변환(collect-store-transform) 파이프라인은 분석과 머신 러닝 모델과도 구분되는 추론-모델(Reason-Model) 파이프라인 데이터 과학과 또 다르게 구분된다. 현재 스파크와 더불어 카프카와 같은 기술을 이용해서 데이터 관리와 데이터 과학 파이프라인을 끊김 없이 확장할 수 있다. 또한 대규모의 데이터셋에서 데이터 과학 모델을 모델링할 수 있으며, 이때 그저 샘플 데이터만 있어도 된다.
그리고 어떤 데이터 모델을 만들더라도 제품(물론 엔지니어링에 작업을 추가해서 새로운 ‘기능들’을 더하는 것을 포함한다)으로 배포할 수 있다. 이 책의 목적은 데이터 엔지니어가 스파크 플랫폼의 기초에 익숙할 수 있게 하는 것과 더불어 스파크를 다루는 좀 더 발전적인 역량을 제공하는 데 있다.

옮긴이의 말

아파치 스파크는 IBM, 알리바바, 텐센트, 데이터브릭스 등 유수 해외 기업들이 데이터 분석을 위해 끊임없이 확장해서 사용하고 있는 빅데이터 분석 프레임워크다. 이 아파치 스파크의 상승세는 실로 놀랍다. 특히 IBM은 향후 1년간 스파크를 이용해서 100만 데이터 사이언티스트 육성 계획까지 발표했다.
이 책은 스파크 1.X버전에서 업그레이드된 2.0버전을 다루고 있는데, 기존 버전에서 좀 더 확장된 기능을 설명하며 개별 기능을 설명할 때마다 스파크 셸을 이용해서 독자가 스스로 할 수 있도록 가이드를 제시한다. 또한 책의 마지막 부분에는 케이스 스터디를 통해 단편적인 기능 테스트를 넘어 트윗과 같은 상용 데이터를 이용해서 데이터를 분석하는 방법을 자세히 설명한다. 따라서 독자에게는 스파크 애플리케이션 개발을 직접 체험해볼 수 있는 기회를 제공한다. 한편으로는 2판과 큰 차이를 못 느낄 수 있다고 생각하겠지만,스파크의 기초 지식을 습득한 개발자의 경우 1.X버전 대비 스파크 2.0의 확장 기능을 학습하고, 그 기능을 토대로 실전 예제 프로그램을 경험할 수 있는 좋은 기회가 될 것이며, 스파크 초보자에게는 스파크 기초 지식과 더불어 알파고의 분석 방법을 엿볼 수 있는 의미 있는 기회가 될 것이다.
[예스24에서 제공한 정보입니다.]

목차정보

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 메소드

__참고 자료

__요약





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처리와 알고리즘

__참고 자료

__요약
[알라딘에서 제공한 정보입니다.]