메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

스파크 완벽 가이드

스파크를 활용한 빅데이터 처리와 분석의 모든 것

한빛미디어

집필서

판매중

  • 저자 : 빌 체임버스 Bill Chambers , 마테이 자하리아 Mate Zaharia
  • 번역 : 우성한 , 이영호 , 강재원
  • 출간 : 2018-12-10
  • 페이지 : 796 쪽
  • ISBN : 9791162241288
  • eISBN : 9791162249222
  • 물류코드 :10128
  • 초급 초중급 중급 중고급 고급
4.9점 (10명)
좋아요 : 5

스파크 창시자가 알려주는 스파크 활용과 배포, 유지 보수의 모든 것 

오픈소스 클러스터 컴퓨팅 프레임워크인 스파크의 창시자가 쓴 스파크에 대한 종합 안내서입니다. 스파크 사용법부터 배포, 유지 보수하는 방법까지 포괄적으로 익힐 수 있습니다.

스파크 2의 개선점과 새로운 기능을 자세히 설명합니다. 구조화된 스파크 API의 특징과 공통 기능은 물론이고, 엔드 투 엔드 스트리밍 애플리케이션을 구축하는 새로운 고수준 API인 구조적 스트리밍을 함께 살펴봅니다.

이 책을 읽으면 스파크를 모니터링, 튜닝, 디버깅하는 데 필요한 기본 지식을 습득할 수 있습니다. 나아가 스파크의 확장 머신러닝 라이브러리인 MLlib을 사용하는 방법과 시나리오를 익힐 수 있습니다.

 

[상세이미지]스파크 완벽 가이드_733.jpg

 

빌 체임버스 Bill Chambers 저자

빌 체임버스 Bill Chambers

2014년에 몇몇 연구 프로젝트에 스파크를 도입했습니다. 데이터브릭스에서 제품 관리를 맡고 있으며 사용자들이 다양한 아파치 스파크 애플리케이션을 개발할 수 있는 환경을 만들기 위해 노력하고 있습니다. 또한 정기적으로 스파크와 관련된 블로그를 작성하고 콘퍼런스 발표와 밋업에 참여하고 있습니다. UC버클리 대학교 정보대학원에서 정보 관리와 시스템 분야의 석사학위를 취득했습니다.

마테이 자하리아 Mate Zaharia 저자

마테이 자하리아 Mate Zaharia

2009년에 아파치 스파크 프로젝트를 시작했고 UC버클리 대학교 박사 과정 동안 스파크와 함께 했습니다. 버클리의 여러 연구원 및 외부 공동 작업자와 함께 스파크의 핵심 API를 설계하고 스파크 커뮤니티를 성장시키고 있으며 구조적 API와 구조적 스트리밍 같은 새로운 개념을 만드는 데 참여하고 있습니다. 2013년 마테이와 버클리 스파크 팀은 오픈소스 프로젝트의 성장을 도우려 데이터브릭스를 설립하고 상업용 제품을 제공하기 시작했습니다. 현재 데이터브릭스의 최고 기술 전문가로 일하고 있으며 스탠퍼드 대학교의 컴퓨터 과학 분야 조교수를 맡아 대규모 시스템과 인공지능 분야를 연구하고 있습니다. 2013년에 UC버클리 대학교에서 컴퓨터 과학 박사학위를 취득했습니다. 마테이는 아파치 메소스 프로젝트의 초기 멤버이자 아파치 하둡의 커미터입니다. 마테이의 연구 내용은 2014 ACM Doctoral Dissertation Award 및 VMware Systems Research Award를 수상하며 인정받았습니다.

우성한 역자

우성한

현재 빅데이터 솔루션 전문 업체인 kt NexR의 책임 연구원으로 재직 중입니다. 모바일 게임, SNS 서비스, 결제 시스템 등 다양한 SW 분야에서 개발한 경험이 있으며, 2011년 빅데이터의 매력에 빠져 이 분야의 오픈소스를 다루기 시작했습니다. kt NexR의 대표적인 빅데이터 분석 솔루션인 NDAP 개발에 참여했으며, 지금은 아키텍처 설계부터 프론트엔드/백엔드 개발까지 수행하는 풀 스택 엔지니어로서 실시간 빅데이터 처리/분석 솔루션을 개발하고 있습니다.

이영호 역자

이영호

현재 kt NexR에서 R&D2 팀장을 맡고 있습니다. 시스템 통합과 빅데이터 솔루션 개발을 수행하던 멤브로스 대표를 역임했습니다. kt NexR에 빅데이터 엔지니어로 입사한 후 살아 있는 빅데이터를 경험했습니다. 다수의 배치/실시간 빅데이터 프로젝트에 참여했으며, 기술서적 번역과 빅데이터 강의를 즐깁니다. 현재 팀원들과 함께 아파치 스파크 기반의 빅데이터 처리 솔루션을 개발하고 있으며 빅데이터의 대중화에 큰 관심을 가지고 있습니다.

강재원 역자

강재원

롯데면세점 빅데이터팀 팀장입니다. kt NexR의 데이터 사이언스팀 팀장과 SK C&C 데이터 사이언스 유닛 리더를 거치며 다양한 도메인에서 데이터 분석 업무를 수행했습니다. 최근에는 이커머스 산업에서 다양한 데이터를 결합하고 분석하여 초개인화(hyper-personalization)를 구현하기 위해 준지도 학습과 비지도 학습을 함께 응용한 분석 방법론을 연구하고 있습니다.

 

Part 1 빅데이터와 스파크 간단히 살펴보기


CHAPTER 1 아파치 스파크란

1.1 아파치 스파크의 철학

1.2 스파크의 등장 배경

1.3 스파크의 역사

1.4 스파크의 현재와 미래

1.5 스파크 실행하기

1.6 정리

 

CHAPTER 2 스파크 간단히 살펴보기

2.1 스파크의 기본 아키텍처

2.2 스파크의 다양한 언어 API

2.3 스파크 API

2.4 스파크 시작하기

2.5 SparkSession

2.6 DataFrame

2.7 트랜스포메이션

2.8 액션

2.9 스파크 UI

2.10 종합 예제

2.11 정리

 

CHAPTER 3 스파크 기능 둘러보기

3.1 운영용 애플리케이션 실행하기

3.2 Dataset: 타입 안정성을 제공하는 구조적 API

3.3 구조적 스트리밍

3.4 머신러닝과 고급 분석

3.5 저수준 API

3.6 SparkR

3.7 스파크의 에코시스템과 패키지

3.8 정리

 

Part 2 구조적 API: DataFrame, SQL, Part 2Dataset


CHAPTER 4 구조적 API 개요

4.1 DataFrame과 Dataset

4.2 스키마

4.3 스파크의 구조적 데이터 타입 개요

4.4 구조적 API의 실행 과정

4.5 정리

 

CHAPTER 5 구조적 API 기본 연산

5.1 스키마

5.2 컬럼과 표현식

5.3 레코드와 로우

5.4 DataFrame의 트랜스포메이션

5.5 정리

 

CHAPTER 6 다양한 데이터 타입 다루기

6.1 API는 어디서 찾을까

6.2 스파크 데이터 타입으로 변환하기

6.3 불리언 데이터 타입 다루기

6.4 수치형 데이터 타입 다루기

6.5 문자열 데이터 타입 다루기

6.6 날짜와 타임스탬프 데이터 타입 다루기

6.7 null 값 다루기

6.8 정렬하기

6.9 복합 데이터 타입 다루기

6.10 JSON 다루기

6.11 사용자 정의 함수

6.12 Hive UDF

6.13 정리

 

CHAPTER 7 집계 연산

7.1 집계 함수

7.2 그룹화

7.3 윈도우 함수

7.4 그룹화 셋

7.5 사용자 정의 집계 함수

7.6 정리

 

CHAPTER 8 조인

8.1 조인 표현식

8.2 조인 타입

8.3 내부 조인

8.4 외부 조인

8.5 왼쪽 외부 조인

8.6 오른쪽 외부 조인

8.7 왼쪽 세미 조인

8.8 왼쪽 안티 조인

8.9 자연 조인

8.10 교차 조인(카테시안 조인)

8.11 조인 사용 시 문제점

8.12 스파크의 조인 수행 방식

8.13 정리

 

CHAPTER 9 데이터소스

9.1 데이터소스 API의 구조

9.2 CSV 파일

9.3 JSON 파일

9.4 파케이 파일

9.5 ORC 파일

9.6 SQL 데이터베이스

9.7 텍스트 파일

9.8 고급 I/O 개념

9.9 정리

 

CHAPTER 10 스파크 SQL

10.1 SQL이란

10.2 빅데이터와 SQL: 아파치 하이브

10.3 빅데이터와 SQL: 스파크 SQL

10.4 스파크 SQL 쿼리 실행 방법

10.5 카탈로그

10.6 테이블

10.7 뷰

10.8 데이터베이스

10.9 select 구문

10.10 고급 주제

10.11 다양한 기능

10.12 정리

 

CHAPTER 11 Dataset

11.1 Dataset을 사용할 시기

11.2 Dataset 생성

11.3 액션

11.4 트랜스포메이션

11.5 조인

11.6 그룹화와 집계

11.7 정리

 

Part 3 저수준 API


CHAPTER 12 RDD

12.1 저수준 API란

12.2 RDD 개요

12.3 RDD 생성하기

12.4 RDD 다루기

12.5 트랜스포메이션

12.6 액션

12.7 파일 저장하기

12.8 캐싱

12.9 체크포인팅

12.10 RDD를 시스템 명령으로 전송하기

12.11 정리

 

CHAPTER 13 RDD 고급 개념

13.1 키-값 형태의 기초(키-값 형태의 RDD)

13.2 집계

13.3 cogroup

13.4 조인

13.5 파티션 제어하기

13.6 사용자 정의 직렬화

13.7 정리

 

CHAPTER 14 분산형 공유 변수

14.1 브로드캐스트 변수

14.2 어큐뮬레이터

14.3 정리

 

Part 4 운영용 애플리케이션


CHAPTER 15 클러스터에서 스파크 실행하기

15.1 스파크 애플리케이션의 아키텍처

15.2 스파크 애플리케이션의 생애주기(스파크 외부)

15.3 스파크 애플리케이션의 생애주기(스파크 내부)

15.4 세부 실행 과정

15.5 정리

 

CHAPTER 16 스파크 애플리케이션 개발하기

16.1 스파크 애플리케이션 작성하기

16.2 스파크 애플리케이션 테스트

16.3 개발 프로세스

16.4 애플리케이션 시작하기

16.5 애플리케이션 환경 설정하기

16.6 정리

 

CHAPTER 17 스파크 배포 환경

17.1 스파크 애플리케이션 실행을 위한 클러스터 환경

17.2 클러스터 매니저

17.3 기타 고려사항

17.4 정리

 

CHAPTER 18 모니터링과 디버깅

18.1 모니터링 범위

18.2 모니터링 대상

18.3 스파크 로그

18.4 스파크 UI

18.5 디버깅 및 스파크 응급 처치

18.6 정리

 

CHAPTER 19 성능 튜닝

19.1 간접적인 성능 향상 기법

19.2 직접적인 성능 향상 기법

19.3 정리

 

Part 5 스트리밍


CHAPTER 20 스트림 처리의 기초

20.1 스트림 처리란

20.2 스트림 처리의 핵심 설계 개념

20.3 스파크의 스트리밍 API

20.4 정리

 

CHAPTER 21 구조적 스트리밍의 기초

21.1 구조적 스트리밍의 기초

21.2 핵심 개념

21.3 구조적 스트리밍 활용

21.4 스트림 트랜스포메이션

21.5 입력과 출력

21.6 스트리밍 Dataset API

21.7 정리

 

CHAPTER 22 이벤트 시간과 상태 기반 처리

22.1 이벤트 시간 처리

22.2 상태 기반 처리

22.3 임의적인 상태 기반 처리

22.4 이벤트 시간 처리의 기본

22.5 이벤트 시간 윈도우

22.6 스트림에서 중복 데이터 제거하기

22.7 임의적인 상태 기반 처리

22.8 정리

 

CHAPTER 23 운영 환경에서의 구조적 스트리밍

23.1 내고장성과 체크포인팅

23.2 애플리케이션 변경하기

23.3 메트릭과 모니터링

23.4 알림

23.5 스트리밍 리스너를 사용한 고급 모니터링

23.6 정리

 

Part 6 고급 분석과 머신러닝


CHAPTER 24 고급 분석과 머신러닝 개요

24.1 고급 분석에 대한 짧은 입문서

24.2 스파크의 고급 분석 툴킷

24.3 고수준 MLlib의 개념

24.4 MLlib 실제로 사용하기

24.5 모델 배포 방식

24.6 정리

 

CHAPTER 25 데이터 전처리 및 피처 엔지니어링

25.1 사용 목적에 따라 모델 서식 지정하기

25.2 변환자

25.3 전처리 추정자

25.4 고수준 변환자

25.5 연속형 특징 처리하기

25.6 범주형 특징 처리하기

25.7 텍스트 데이터 변환자

25.8 특징 조작하기

25.9 특징 선택

25.10 고급 주제

25.11 정리

 

CHAPTER 26 분류

26.1 활용 사례

26.2 분류 유형

26.3 MLlib의 분류 모델

26.4 로지스틱 회귀

26.5 의사결정트리

26.6 랜덤 포레스트와 그래디언트 부스티드 트리

26.7 나이브 베이즈

26.8 분류와 자동 모델 튜닝을 위한 평가기

26.9 세부 평가지표

26.10 일대다 분류기

26.11 다층 퍼셉트론

26.12 정리

 

CHAPTER 27 회귀

27.1 활용 사례

27.2 MLlib에서 제공하는 회귀 모델

27.3 선형 회귀

27.4 일반화 선형 회귀

27.5 의사결정트리

27.6 랜덤 포레스트와 그래디언트 부스티드 트리

27.7 고급 방법론

27.8 평가기와 모델 튜닝 자동화

27.9 평가지표

27.10 정리

 

CHAPTER 28 추천

28.1 활용 사례

28.2 교차최소제곱 알고리즘을 사용하여 협업 필터링 구현하기

28.3 추천을 위한 평가기

28.4 성과 평가지표

28.5 빈발 패턴 마이닝

28.6 정리

 

CHAPTER 29 비지도 학습

29.1 활용 사례

29.2 모델 확장성

29.3 k-평균

29.4 이분법 k-평균

29.5 가우시안 혼합 모델

29.6 잠재 디리클레 할당

29.7 정리

 

CHAPTER 30 그래프 분석

30.1 그래프 작성하기

30.2 그래프 쿼리하기

30.3 모티프 찾기

30.4 그래프 알고리즘

30.5 정리

 

CHAPTER 31 딥러닝

31.1 딥러닝이란

31.2 스파크에서 딥러닝을 사용하는 방법

31.3 딥러닝 라이브러리

31.4 딥러닝 파이프라인을 사용한 간단한 예제

31.5 정리

 

Part 7 에코시스템


CHAPTER 32 언어별 특성: 파이썬(PySpark)과 R(SparkR, sparklyr)

32.1 PySpark

32.2 R로 스파크 사용하기

32.3 정리

 

CHAPTER 33 에코시스템과 커뮤니티

33.1 스파크 패키지

33.2 커뮤니티

33.3 정리

 

부록 A 스파크 설치 및 실행 

부록 B 더블린 원정대: 스파크 서밋 2017 더블린 참관기

스파크 활용과 배포, 유지 보수까지 전체적 흐름을 포괄적으로 안내하는 바이블

 

이 책은 쉽게 실행할 수 있는 스파크 예제와 모든 유형의 기본 사용 사례를 다루는 스파크 종합 안내서입니다. 스파크의 기초적인 내용부터 처리, 운용, 관리, 모니터링 그리고 그래프와 머신러닝에 이르기까지 다양한 내용을 종합적으로 설명합니다. 특히 스파크 2.0 기반의 고수준 신규 API인 DataFrame, Dataset, 스파크 SQL, 구조적 스트리밍(Structured Streaming)을 집중적으로 소개합니다. 스파크를 사용하려는 데이터 과학자와 데이터 엔지니어에게 많은 도움이 될 내용으로 구성했습니다.

 

이 책의 번역 품질을 최고로 높이기 위해 동분서주했던 역자들의 뼈를 깎는 노고를 언급하지 않을 수 없습니다. 매일 밤을 새우다시피 하며 방대한 분량의 원서를 수십 차례에 걸쳐 다듬고 소스 코드를 수정했으며, 열 명도 넘는 업계 실무자들을 치킨으로 유혹(!)하여 수 차례에 걸친 가혹한 베타 리딩 과정을 거쳤습니다. 원서에는 없는 ‘실행 환경 구축’에 필요한 구체적인 내용과 ‘스파크 서밋 2017 더블린 참관기’도 따로 집필하여 부록으로 실었습니다. 한편으로는 독자가 조금이라도 더 친근하고 편안한 느낌으로 읽을 수 있는 문장을 만들고자 노력했습니다. 이러한 담금질을 거쳐 탄생한 이 번역서가 여러분을 경이로운 스파크의 세계로 편안하게 인도해줄 것입니다.

 

Spark 완벽 가이드는 Spark 창시자인 마테이 자하리아가 저자로 참여하였고, 국내 스파크 모임에서 번역서가 나오기 전에도 교재로 많이 사용했던 책입니다.

거의 800페이지에 달하는 분량이지만 핵심을 간단하고 명확하게 설명하고 있어 부담없이 읽을 수 있었습니다.

 

제일 좋았던 부분은 실습 환경을 Docker 이미지로 제공하는 것 이였습니다.

빅데이터 관련 도서를 볼 때 항상 실습을 위한 환경 구축에서 많은 시간을 소요했는데 이번에는 10분 정도 만에 실습을 시작할 수 있었습니다.

 

3장(약 100페이지 분량)까지는 스파크 아키텍쳐와 기능에 대한 간단하게 소개를 하고 4장 부터는 스파크에 대해 자세히 설명하고 있습니다.

개념 및 실습을 간단하게 살펴보고 세부 내용으로 진행하게 되어 있어 흥미를 잃지 않고 진행할 수 있었습니다.

 

기본 개념부터 고급 분석에 해당하는 내용까지 폭 깊게 담고 있어 스파크를 처음 시작하시는 분 뿐만 아니라 사용하고 계셨던 분들도 곁에 두시고 참고하시면 좋을 것 같습니다.



 

사진 설명을 입력하세요.

 

해당책은 스파크 기능 구성부터 차근차근 잘 설명해주고있다.

책의 내용을 간단하게 정리해보았다.

아파치 스파크는 통합 컴퓨팅 엔진이며 클러스터 환경에서 테이터를 병렬로 처리하는 라이브러리 집합이다.

스파크는 가방 활발하게 개발되고 있는 병렬 처리 오픈소스 엔지닝며 빅데이터 에 관심이있는 여러 개발자와 데이터 과학자에게 표준도구가 되어가고있다.

스파크는 파이썬, 자바, 스칼라, R) 을 지원하며 SQL 뿐만 아니라 스트리밍 , 머신러닝에 이르는 범위까지의 라이브러리를 제공한다.

 



 

 

스파크 기능 구성

먼저 스파크의 버전은

스파크 1.0 구조화된 데이터를 기반으로 동작하는 신규 api스파크 sql이 추가 되었다고 한다.

 

책에서는 스파크 다운로드 페이지와 예제소스를 제공하고있다.

https://spark.apache.org/downloads.html

스파크 설치후 아래와 같이 spark 명령을 실행하면 sparksession을 확인할수있다.

spark 실행화면

책은 그림도 적절히 인용되어 설명을 쉽게 풀이 해주었다.

스파크는 dataset,dataframe,sql 테이블 그리고 rdd라는 몇가지 핵심 추상화 개념을 가지고 있다.

이개념 모두 분산 데이터 모음을 표현한다. 이중 가장 쉽고 효율적인 dataframe은 모든 프로그래밍 언어에서 사용할수있다.

 

분산 컴퓨터와 단일 컴퓨터 분석의 차이점

스파크는 모든 익스큐터가 병렬로 작업을 수행할수 있도록 파티션이라 불리는 청크 단위로 데이터를 분할한다.

파티션은 클러스터의 물리적 머신에 존재하는 로우의 집합을 의미한다.

 

스파크에 대해 입문하는데 이책을 통해 어려움이 없었고, 자세한 설명과 예제를 통해 스파크에 대해 한발더 다가갈수있었다.

 

 



파이썬 등을 활용한 가벼운 분석 프로세스가 주목을 받기 전에 빅데이터 처리 분야에서 하둡을 필두로 하는 오픈소스 프레임워크가 인기를 끌었다. 그 인기를 제대로 실감하지 못했기 때문에 이 흐름에 대해 옮긴이의 말 코너에서 아파치 스파크가 갖는 위상에 대해 좀 더 잘 이해할 수 있었다. 빅데이터 저장, 처리 프레임워크, SQL엔진, 실시간 처리, 머신러닝 등은 이전까지 따로 존재하고 익혀야 하는 번거로운 프로세스 단계였다. 하지만 아파치 스파크로 단일 인터페이스로의 구현이 가능해졌다. 데이터 사이언스 분야에서도 엔지니어링 분야까지 넘나들 수 있는 내용이 많으므로 여러모로 도움이 많이 되는 구성이다. 사용할 수 있는 언어별로 각 연산을 표현하는 코드가 따로 적혀 있어서 편한 방법으로 익히기도 좋다. 책은 기본 연산 문법과 RDD, 운영용 애플리케이션, 스트리밍, 고급 분석과 머신러닝 등에 대해서도 왜 사용하고 어떻게 사용하는지 잘 짚어준다. 스파크에서 사용하는 딥러닝 방법은 기초적인 부분만 있는 것 같으므로 개별적으로 찾아봐야하는 부분이다. 

 

 

개발 업무를 진행하면서 서비스를 런칭 했을 때 사용자들의 행위나 서비스가 제공하는 각 기능에 대한 가치를 파악하기 위해 데이터 분석을 해보고 싶다는 생각을 항상 해왔었다. 이 전에는 게임 서버 개발 진행과 병행하여 엘라스틱서치를 도입해 데이터 분석을 위한 준비를 했었고, 서비스 런칭 후 이를 통해 사업부와 협업하여 사용자 행위 지표에 대한 다양한 차트를 만들어보기도 했었다. 이로 인해 생각지 못했던 아이디어가 떠오르기도 하고, 업데이트 된 기능에 대한 사용자들의 반응을 바로바로 확인할 수 있어서 굉장히 큰 도움이 되었었다.

 

이 때의 경험을 계기로 어떤 개발을 할 때는 항상 데이터 분석도 함께 해보려고 노력하고 있다. 얼마전에는 본 업무와 별개로 사이드 프로젝트를 진행하며 데이터 분석을 해보기도 했다.

 

이처럼 데이터 분석에는 엘라스틱서치 뿐만 아니라 다양한 도구들이 존재하는데 문제는 이러한 분석을 위한 데이터가 서비스 기간이 길어질 수록, 서비스를 사용하는 사용자가 많아질 수록 기하급수적으로 증가한다는 것에 있다. 데이터가 많아지면 그만큼 집계를 하기 위한 시간도 오래걸리고 데이터가 차지하는 용량도 감당하기 어려울 정도로 증가하기 때문에 관리 비용이 굉장히 커진다. 이를 해결할 수 있는 도구로 스파크를 많이 사용한다.

 

이 책에서는 스파크가 무엇인지, 어떤 경우에 사용해야하는지에 대해 자세하게 설명하고, 유지보수를 하기 위해 필요한 지식들을 담고 있다. 데이터 분석을 위한 도구들은 사용도 까다롭지만 운영도 굉장히 어렵다. 충분히 돈을 벌고 있는 서비스라면 클라우드의 관리형 도구를 사용하게 되면 운영 이슈 없이 사용 방법에 대해서만 숙지하면 되지만 비용이 굉장히 크기 때문에 아마도 대부분의 회사에서 초기에는 직접 구축해서 사용하게 될 것이라고 생각한다. 이 책을 통해 사용방법 뿐만 아니라 트러블슈팅에 대한 팁도 알 수 있어서 좋았다.

 

스파크라는 도구 자체가 알아야 할 것들도 많고, 개념도 쉽지 않기 때문에 그만큼 책의 두께가 굉장히 두꺼워서 처음부터 하나씩 보다 보면 지치게되는데 간단한 프로젝트에 도입하여 직접 사용해보면서 궁금한 부분을 책에서 찾아 공부하는 식으로 본다면 더욱 재미있게 볼 수 있을 것이라 생각한다. 이 책은 스파크를 도입하려는 데이터 엔지니어들에게 큰 도움이 될 것이다.





 

 

 

KakaoTalk_20201122_003210270.jpg

 

 

이 번에 리뷰하게 된 책은 스파크 완벽 가이드 입니다.

 

아파치 스파크 창시자인 마테이가 쓴 스파크 바이블이라고 할 수 있습니다. 친절한 기본부터 꼼꼼한 심화까지 잘 구성되어 있어 입문용으로도 좋고, 두고두고 곁에 두고 필요할때 꺼내어 참고 할 수 있는 참고용으로 참 좋습니다.

빅데이터에 입문하는 분과 데이터 엔지니어 및 과학자 분의 소중한 시간을 크게 절약해 줄 책입니다.

 

스파크 바이블이라 할만큼 그 내용이 방대합니다. 페이지는 약 700페이지가 넘고 매우 두껍습니다. 그만큼

상세한 내용을 다루고 있습니다.

그럼 이책에 대해서 간단히 살펴보겠습니다.

 

Part1 빅데이터와 스파크 간단히 살펴보기

Part1 에서는 아파치 스파크에 대해서 살펴봅니다. 아파치 스파크는 통합 컴퓨팅 엔진이며 클러스터 환경에서 데이터를 병렬로 처리하는 라이브러리 집합입니다. 스파크는 가장 활발하게 개발되고 있는 병렬 처리 오픈소스 엔진이며 빅데이터에 관심 있는 여러 개발자와 데이터 과학자에게 표준 도구가 되어가고 있습니다.

 

Part2 구조적 API :DataFrame, SQL, Dataset

2부에서는 스파크의 구조적 API에 대해서 살펴봅니다. 구조적 API는 비정형 로그 파일부터, 반정형 CSV 파일, 매우 정형적인 파케이(Parquest)파일까지 다양한 유형의 데이터를 처리 할수 있습니다.

 

Part3 저수준 API

2부에서는 스파크의 구조적 API를 알아보았습니다. 대부분의 상황에서는 구조적 API를 사용하는 것이 좋습니다. 그러나 비지니스나 기술적 문제를 고수준(high-level) API를 사용해 모두 처리 할 수 있는 것은 아닙니다. 이런 경우 스파크의 저수준 API를 사용해야 할 수도 있습니다. 스파크의 저수준 API는 RDD, SparkContext 그리고 어큐물레이터와 브로드캐스트 변수 같은 분산형 공유 변수 등을 의미합니다. 3부에서는 저수준 API와 사용 방법을 알아봅니다.

 

Part4 운영용 애플리케이션

4부에서는 물리적으로 분리된 서버들을 논리적으로 엮어 거대한 컴퓨팅 파워를 만들어주는 클러스트 매니저를 스파크에서 활용하는 방법을 알아봅니다. 그리고 가장 궁금한 내용일 수도 모니터링과 성능 튜닝에 대한 실무적인 접근법에 대해서 알아봅니다.

 

Part5 스트리밍

많은 기업이 스트리밍 데이터를 처리하기 위해 아파치 스파크의 스트리밍 기능을 사용합니다. 구조적 API기반의 구조적 스트리밍은 스트리밍 처리에 필요한 복잡한 요건을 자체적으로 해결해주는 아주 영리한 도구입니다.

5부에서는 스트림 처리의 개요를 알아보고 스파크가 처리 요건을 어떻게 자동화하는지 알아보겠습니다.

 

Part6 고급 분석과 머신러닝

6부에서는 스파크에서 제공하는 고급 분석 및 머신러닝을 위한 다양한 API를 좀 더 자세히 설명합니다. 스파크는 대용량 데이터에 대한 SQL 분석과 스트림 처리 외에도 통계 분석, 머신러닝 그리고 그래프 분석을 지원하며 이러한 고급 분석을 수행하는데 필요한 일련의 작업 과정도 제공합니다.

 

Part7 에코시스템

7부에서는 많은 스파크 사용자가 선택하는 파이썬과 R의 언어적 특성을 상세히 살펴봅니다. 그리고 스파크가 가지고 있는 비기술적 장점에 대해서도 가볍게 알아봅니다.

 

이 책은 스파크의 전반적인 구조와 주요 API에 대해서 자세히 설명하고 있습니다.

스파크의 기본 아키텍처부터 구조적 API의 내용 그리고 스파크 2.x의 새로운 특징들을 설명하였습니다.

스파크를 처음 접하는 입문자 스파크로 빅데이터 플랫폼을 운용하는 데이터 엔지니어, 스파크 애플리케이션을 개발하는 디벨로퍼 그리고 스파크로 데이터 전처리를 수행하는 데이터 분석가 모두에 추천합니다.

 

 

KakaoTalk_20201122_003210270_09.jpg

 

 

 



<스파크 완벽 가이드>는 구성이 자연스럽습니다. 기존에 봤었던 아파치 스파크 책과 비교했을 때 확실히 돋보이는 점입니다. 아파치 스파크 제작자가 쓴 책답게 등장 배경과 역사 등을 비롯해 아파치 스파크의 디자인에 대한 철학적인 내용을 기술하여 필자의 기호에 안성맞춤이었습니다. 혹시 이런 부분에 매력을 느끼지 못한 독자도 있겠지만, 필자는 이런 부분에 높은 점수를 주고 싶습니다.

 

또한, 아파치 스파크의 구성 요소에 대해 독자가 이해하기 쉽게 설명합니다. 필요하면 매우 잘 추상화한 그림을 첨부하여 독자의 이해를 돕습니다. 글을 써보면 알겠지만, 이렇게 기술하는 것이 매우 어렵습니다. 이 부분에 대해서는 두 저자뿐만 아니라 역자님들께 깊이 감사드립니다.

 

<스파크 완벽 가이드>는 스칼라와 파이썬, 그리고 가능한 부분에 대해서 SQL을 함께 소개하여 각 언어에 대한 이해도가 낮아도 이미 알고 있는 언어로 실습해 볼 수 있어 매력적입니다. 필자는 아파치 스파크 사용을 위해 스칼라를 학습했었습니다. 필자가 처음 아파치 스파크를 접했을 때, 파이썬은 스칼라보다 매우 느린 결과를 도출했습니다만, 아파치 스파크 최신 버전에서는 이 차이가 유의미하게 줄어들어 파이썬을 사용해도 나쁘지 않습니다. 덕분에 더 많은 사람이 아파치 스파크의 매력에 빠질 것 같습니다.

 

<스파크 완벽 가이드>를 통해 파트 4와 파트 6을 제외한 나머지 부분은 이미 기존에 알고 있던 내용으로 이번 기회를 통해 복습하는 시간을 가졌습니다. 파트 4와 파트 6에 대해서는 이 책과 함께 오랜 시간을 보내야 할 것 같습니다. 이 책을 통해 기존에 정확하게 이해하지 못한 부분에 대해 정확히 알게 되었고, 부족한 부분이 어떤 점인지 많이 느끼게 되었습니다. 이른 시간 안에 이 부분에 대해서 더 깊이 있는 공부를 하고 싶습니다.

 

아파치 스파크를 학습할 때 직면하는 문제점 중 하나가 환경 구축에 대한 부분입니다. 아파치 스파크 설치 방법이 어려운 편은 아니지만, 환경을 구성한다는 것 자체가 번거로운 작업 중 하나입니다. <스파크 완벽 가이드>에서는 클라우드를 서비스를 활용해 무료 실습 환경을 제공하여 독자가 실습에 대한 부담을 극적으로 낮춰줍니다2. 필자는 앞으로도 자주 활용할 것 같습니다.

여태까지 다양한 경로로 공부를 했는데, 이 책을 보고 모든 것이 정리되네요!

앞으로 스파크 책은 무조건 이 책을 추천할 것 같습니다!

 

제가 생각한 장점
1. Dataframe, SQL(하이레벨 API)을 먼저 설명하고 뒤에 RDD(로우레벨 API)를 설명하는 점
- 시중에 많은 책이 RDD부터 설명하는데, 스파크 2점대 이후부턴 Dataframe을 밀고 있습니다. 그래도 RDD를 알긴 해야되는데, 어떤 포인트에서 알아야 하는지 설명해줍니다

2. 큰 그림을 잘 그려주고 디테일을 챙겨줌. 번역의 질도 뛰어남
- 스파크의 역사를 크게 그려주고 요새 트렌드를 언급해주는데 이런 정리된 글을 보니 머리속에 쏙쏙 들어가네요

3. 작동 원리에 대한 언급
- 공부할 때 스파크 Dataframe을 내부적으로 RDD로 바꿔주는건 알고 있었는데 언어별, 타입별 차이는 그냥 넘어갔었어요. 이 책을 보고 무릎을 탁! 쳤습니다

4. 스칼라, 파이썬 코드를 사용해서 많은 사람들이 쉽게 접근할 수 있을 듯

5. 스파크 애플리케이션 개발하는 방법, 테스트, 성능 튜닝 등에 대해 다룸

6. 머신러닝에서 사용할 Feature Engineering, 알고리즘 등도 다양하게 제시하고 딥러닝과 연관된 프레임워크도 소개해서 키워드를 알 수 있게 해주네요

단점..을 꼽을 것이 거의 없지만 굳이 꼽자면
1. 가격 : 48,000원이라 생각보다 비싸다고 생각할 수 있음. 그러나 꾸준히 여러번 다독할만한 책

2. 무게 : 책이 700쪽정도 되서 가지고 다니기 무거운... 회사에 두고 주기적으로 보는 것이 좋을 것 같아요

너무 장점만 작성한 것 같긴한데.. 정말 좋아요 ㅇㅅㅇ

 

 

spark.jpg

 

스파크 완벽 가이드 책 후기

여태까지 스파크 책, 코세라, 강의, 직접 사용하며 얻은 지식 등이 꽤 있다고 생각했는데, 

여태까지 본 자료를 다 포함하고, 그냥 대단한것같습니다.

 스파크 공부하시려면 이 책으로 공부하시면 될 것 같습니다.

 

제가 생각한 장점
1. Dataframe, SQL(하이레벨 API)을 먼저 설명하고 뒤에 RDD(로우레벨 API)를 설명하는 점
- 시중에 많은 책이 RDD부터 설명하는데, 스파크 2점대 이후부턴 Dataframe을 밀고 있습니다.

 그래도 RDD를 알긴 해야되는데, 어떤 포인트에서 알아야 하는지 설명해줍니다


2. 큰 그림을 잘 그려주고 디테일을 챙겨줌. 번역의 질도 뛰어남
- 스파크의 역사를 크게 그려주고 요새 트렌드를 언급해주는데 이런 정리된 글을 보니 머리속에 쏙쏙 들어가네요


3. 작동 원리에 대한 언급
- 공부할 때 스파크 Dataframe을 내부적으로 RDD로 바꿔주는건 알고 있었는데 언어별, 타입별 차이는 그냥 넘어갔었어요. 이 책을 보고 무릎을 탁! 쳤습니다


4. 스칼라, 파이썬 코드를 사용해서 많은 사람들이 쉽게 접근할 수 있을 듯


5. 스파크 애플리케이션 개발하는 방법, 테스트, 성능 튜닝 등에 대해 다룸


6. 머신러닝에서 사용할 Feature Engineering, 알고리즘 등도 다양하게 제시하고 딥러닝과 연관된 프레임워크도 소개해서 키워드를 알 수 있게 해주네요


단점..을 꼽을 것이 거의 없지만 굳이 꼽자면
1. 가격 : 48,000원이라 생각보다 비싸다고 생각할 수 있음. 그러나 꾸준히 여러번 다독할만한 책

2. 무게 : 책이 700쪽정도 되서 가지고 다니기 무거운... 회사에 두고 주기적으로 보는 것이 좋을 것 같아요

너무 장점만 작성한 것 같긴한데.. 정말 좋아요.


게다가 한빛미디어에서 약 6개월에 한번씩 개발자 세미나도 개최하고 다양한 이벤트들 또한 준비중이니,

IT업계 종사자라면 찾고자하는 책이 있을때 '한빛 미디어' 들려보시는 것을 추천합니다! :)



결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원 무료배송
닫기

리뷰쓰기

닫기
* 상품명 :
스파크 완벽 가이드
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
스파크 완벽 가이드
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
스파크 완벽 가이드
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실

최근 본 상품1