장바구니 담기 close

장바구니에 상품을 담았습니다.

스파크를 다루는 기술

스파크를 다루는 기술

  • 페타제체비치
  • |
  • 길벗
  • |
  • 2018-05-24 출간
  • |
  • 608페이지
  • |
  • 183 X 235 mm
  • |
  • ISBN 9791160504798
판매가

35,000원

즉시할인가

31,500

카드할인

0원(즉시할인 0%)

적립금

1,750원 적립(5%적립)

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

추가혜택

네이버페이 무조건 1%적립+ 추가 1%적립

수량
+ -
총주문금액
31,500

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평




스파크, 현장 밀착 입문서는 따로 있다!

스파크를 사용하고 활용하는 데 필요한 중요 주제를 두루 다룬다.
이 책이 다루는 주제는 스파크의 런타임 옵션을 설정하는 방법부터 독립형 작업이나 대화형 작업을 실행하는 방법, 일괄 처리, 스트리밍, 머신 러닝 애플리케이션의 구현 방법에 이른다. 또한, 스파크를 설치, 설정, 실행하는 방법 등 운영적인 측면까지 모두 담았다.

스파크의 개념을 잘 보여주고 이해하기 쉬운 예제와 데이터셋!
예제 데이터셋은 개인용 컴퓨터에서 실행할 수 있을 정도로 가볍다. 예제를 통해 스파크를 사용하고 실행하는 방법을 이해하여, 자신의 운영 환경에 적용할 스파크 애플리케이션을 작성해보자.

가상 머신으로 스파크의 실습 환경을 손쉽게 구축하고, 예제를 실행하자!
가상 머신을 사용해 책의 모든 예제를 실행할 수 있다. 각기 다른 버전의 자바, 스파크 및 운영 체제로 고민할 필요 없이, 가상 머신으로 예제를 손쉽게 실행해보자.

[이 책에서 배우는 것들]
1부 스파크와 스파크의 풍부한 API 소개
스파크의 주요 기능과 가상 머신 소개 | 스파크 셸, RDD, 스파크 클러스터, 스파크 코어 API | 데이터 파티셔닝, 셔플링, 누적변수, 공유변수

2부 스파크를 구성하는 스파크 SQL, 스파크 스트리밍, 스파크 MLlib, 스파크 GraphX 컴포넌트 학습
DataFrame을 생성하고 사용하는 방법 | SQL을 사용해 DataFrame에 질의하는 방법 | 외부 소스에서 데이터를 로드하고 저장하는 방법 | 스파크 스트리밍과 카프카를 연결하는 방법 | 스트리밍 잡의 성능을 개선하는 방법 | 선형 회귀, 로지스틱 회귀, 의사 결정 트리, 랜덤 포레스트, k-평균 군집화 소개 | 그래프 변환, 조인 연산과 그래프 알고리즘을 사용하는 방법, A* 검색 | 알고리즘 구현 방법

3부 스파크 자체 클러스터, 하둡의 YARN 클러스터 및 메소스 클러스터에서 애플리케이션 실행
스파크를 설정하고, 스파크 웹 UI를 사용하는 방법 | 아마존 EC2에서 스파크 자체 클러스터를 구성하는 방법 | YARN 클러스터 및 메소스 클러스터를 구축, 설정, 사용하는 방법

4부 상위 레벨에서 스파크 활용
접속 로그 분석 결과를 실시간 대시보드에 표시하는 스파크 스트리밍 애플리케이션 구현 방법 | H2O와 스파클링 워터 소개


목차


1부 첫걸음

1장 아파치 스파크 소개
__1.1 스파크란
____1.1.1 스파크가 가져온 혁명
____1.1.2 맵리듀스의 한계
____1.1.3 스파크가 가져다준 선물
__1.2 스파크를 구성하는 컴포넌트
____1.2.1 스파크 코어
____1.2.2 스파크 SQL
____1.2.3 스파크 스트리밍
____1.2.4 스파크 MLlib
____1.2.5 스파크 GraphX
__1.3 스파크 프로그램의 실행 과정
__1.4 스파크 생태계
__1.5 가상 머신 설정
____1.5.1 가상 머신 시작
____1.5.2 가상 머신 종료
__1.6 요약

2장 스파크의 기초
__2.1 가상 머신 사용
____2.1.1 깃허브 저장소 복제
____2.1.2 자바 찾기
____2.1.3 가상 머신에 설치된 하둡 사용
____2.1.4 가상 머신에 설치된 스파크 살펴보기
__2.2 스파크 셸로 첫 스파크 프로그램 작성
____2.2.1 스파크 셸 시작
____2.2.2 첫 스파크 코드 예제
____2.2.3 RDD의 개념
__2.3 RDD의 기본 행동 연산자 및 변환 연산자
____2.3.1 map 변환 연산자
____2.3.2 distinct와 flatMap 변환 연산자
____2.3.3 sample, take, takeSample 연산으로 RDD의 일부 요소 가져오기
__2.4 Double RDD 전용 함수
____2.4.1 double RDD 함수로 기초 통계량 계산
____2.4.2 히스토그램으로 데이터 분포 시각화
____2.4.3 근사 합계 및 평균 계산
__2.5 요약

3장 스파크 애플리케이션 작성하기
__3.1 이클립스로 스파크 프로젝트 생성
__3.2 스파크 애플리케이션 개발
____3.2.1 깃허브 아카이브 데이터셋 준비
____3.2.2 JSON 로드
____3.2.3 이클립스에서 애플리케이션 실행
____3.2.4 데이터 집계
____3.2.5 분석 대상 제외
____3.2.6 공유 변수
____3.2.7 전체 데이터셋 사용
__3.3 애플리케이션 제출
____3.3.1 uberjar 빌드
____3.3.2 애플리케이션의 적응력 올리기
____3.3.3 spark-submit 사용
__3.4 요약

4장 스파크 API 깊이 파헤치기
__4.1 Pair RDD 다루기
____4.1.1 Pair RDD 생성
____4.1.2 기본 Pair RDD 함수
__4.2 데이터 파티셔닝을 이해하고 데이터 셔플링 최소화
____4.2.1 스파크의 데이터 Partitioner
____4.2.2 불필요한 셔플링 줄이기
____4.2.3 RDD 파티션 변경
____4.2.4 파티션 단위로 데이터 매핑
__4.3 데이터 조인, 정렬, 그루핑
____4.3.1 데이터 조인
____4.3.2 데이터 정렬
____4.3.3 데이터 그루핑
__4.4 RDD 의존 관계
____4.4.1 RDD 의존 관계와 스파크 동작 메커니즘
____4.4.2 스파크의 스테이지와 태스크
____4.4.3 체크포인트로 RDD 계보 저장
__4.5 누적 변수와 공유 변수
____4.5.1 누적 변수로 실행자에서 데이터 가져오기
____4.5.2 공유 변수로 실행자에 데이터 전송
__4.6 요약

2부 스파크 패밀리와 만남

5장 스파크 SQL로 멋진 쿼리를 실행하자
__5.1 DataFrame 다루기
____5.1.1 RDD에서 DataFrame 생성
____5.1.2 기본 DataFrame API
____5.1.3 SQL 함수로 데이터에 연산 수행
____5.1.4 결측 값 다루기
____5.1.5 DataFrame을 RDD로 변환
____5.1.6 데이터 그루핑
____5.1.7 데이터 조인
__5.2 DataFrame을 넘어 Dataset으로
__5.3 SQL 명령
____5.3.1 테이블 카탈로그와 하이브 메타스토어
____5.3.2 SQL 쿼리 실행
____5.3.3 쓰리프트 서버로 스파크 SQL 접속
__5.4 DataFrame을 저장하고 불러오기
____5.4.1 기본 데이터 소스
____5.4.2 데이터 저장
____5.4.3 데이터 불러오기
__5.5 카탈리스트 최적화 엔진
__5.6 텅스텐 프로젝트의 스파크 성능 향상
__5.7 요약

6장 스파크 스트리밍으로 데이터를 흐르게 하자
__6.1 스파크 스트리밍 애플리케이션 작성
____6.1.1 예제 애플리케이션
____6.1.2 스트리밍 컨텍스트 생성
____6.1.3 이산 스트림 생성
____6.1.4 이산 스트림 사용
____6.1.5 결과를 파일로 저장
____6.1.6 스트리밍 계산 작업의 시작과 종료
____6.1.7 시간에 따라 변화하는 계산 상태 저장
____6.1.8 윈도 연산으로 일정 시간 동안 유입된 데이터만 계산
____6.1.9 그 외 내장 입력 스트림
__6.2 외부 데이터 소스 사용
____6.2.1 카프카 시작
____6.2.2 카프카를 사용해 스트리밍 애플리케이션 개발
__6.3 스파크 스트리밍의 잡 성능
____6.3.1 성능 개선
____6.3.2 장애 내성
__6.4 정형 스트리밍
____6.4.1 스트리밍 DataFrame 생성
____6.4.2 스트리밍 데이터 출력
____6.4.3 스트리밍 실행 관리
____6.4.4 정형 스트리밍의 미래
__6.5 요약

7장 MLlib로 더 똑똑해지자
__7.1 머신 러닝의 개요
____7.1.1 머신 러닝의 정의
____7.1.2 머신 러닝 알고리즘의 유형
____7.1.3 스파크를 활용한 머신 러닝
__7.2 스파크에서 선형 대수 연산 수행
____7.2.1 로컬 벡터와 로컬 행렬
____7.2.2 분산 행렬
__7.3 선형 회귀
____7.3.1 선형 회귀 소개
____7.3.2 단순 선형 회귀
____7.3.3 다중 선형 회귀로 모델 확장
__7.4 데이터 분석 및 준비
____7.4.1 데이터 분포 분석
____7.4.2 열 코사인 유사도 분석
____7.4.3 공분산 행렬 계산
____7.4.4 레이블 포인트로 변환
____7.4.5 데이터 분할
____7.4.6 특징 변수 스케일링 및 평균 정규화
__7.5 선형 회귀 모델 학습 및 활용
____7.5.1 목표 변수 값 예측
____7.5.2 모델 성능 평가
____7.5.3 모델 매개변수 해석
____7.5.4 모델의 저장 및 불러오기
__7.6 알고리즘 정확도 극대화
____7.6.1 적절한 이동 거리와 반복 횟수를 찾는 방법
____7.6.2 고차 다항식 추가
____7.6.3 편향-분산 상충 관계와 모델의 복잡도
____7.6.4 잔차 차트 그리기
____7.6.5 일반화를 사용해 과적합 방지
____7.6.6 k-겹 교차 검증
__7.7 알고리즘 성능 최적화
____7.7.1 미니배치 기반 확률적 경사 하강법
____7.7.2 LBFGS 최적화
__7.8 요약

8장 스파크 ML로 만드는 분류와 군집화
__8.1 스파크 ML 라이브러리
____8.1.1 변환자, 추정자, 평가자
____8.1.2 ML 매개변수
____8.1.3 ML 파이프라인
__8.2 로지스틱 회귀
____8.2.1 이진 로지스틱 회귀 모델
____8.2.2 로지스틱 회귀에 필요한 데이터 준비
____8.2.3 로지스틱 회귀 모델 훈련
____8.2.4 분류 모델의 평가
____8.2.5 k-겹 교차 검증 수행
____8.2.6 다중 클래스 로지스틱 회귀
__8.3 의사 결정 트리와 랜덤 포레스트
____8.3.1 의사 결정 트리
____8.3.2 랜덤 포레스트
__8.4 군집화
____8.4.1 k-평균 군집화
__8.5 요약

9장 점을 연결하는 GraphX
__9.1 스파크의 그래프 연산
____9.1.1 GraphX API를 사용해 그래프 만들기
____9.1.2 그래프 변환
__9.2 그래프 알고리즘
____9.2.1 예제 데이터셋
____9.2.2 최단 경로 알고리즘
____9.2.3 페이지랭크
____9.2.4 연결요소
____9.2.5 강연결요소
__9.3 A* 검색 알고리즘 구현
____9.3.1 A* 알고리즘 이해
____9.3.2 A* 알고리즘 구현
____9.3.3 구현된 알고리즘 테스트
__9.4 요약

3부 스파크 옵스

10장 스파크 클러스터 구동
__10.1 스파크 런타임 아키텍처의 개요
____10.1.1 스파크 런타임 컴포넌트
____10.1.2 스파크 클러스터 유형
__10.2 잡 스케줄링과 리소스 스케줄링
____10.2.1 클러스터 리소스 스케줄링
____10.2.2 스파크 잡 스케줄링
____10.2.3 데이터 지역성
____10.2.4 스파크의 메모리 스케줄링
__10.3 스파크 설정
____10.3.1 스파크 환경 설정 파일
____10.3.2 명령줄 매개변수
____10.3.3 시스템 환경 변수
____10.3.4 프로그램 코드로 환경 설정
____10.3.5 master 매개변수
____10.3.6 설정된 매개변수 조회
__10.4 스파크 웹 UI
____10.4.1 Jobs 페이지
____10.4.2 Stages 페이지
____10.4.3 Storage 페이지
____10.4.4 Environment 페이지
____10.4.5 Executors 페이지
__10.5 로컬 머신에서 스파크 실행
____10.5.1 로컬 모드
____10.5.2 로컬 클러스터 모드
__10.6 요약

11장 스파크 자체 클러스터
__11.1 스파크 자체 클러스터의 컴포넌트
__11.2 스파크 자체 클러스터 시작
____11.2.1 셸 스크립트로 클러스터 시작
____11.2.2 수동으로 클러스터 시작
____11.2.3 스파크 프로세스 조회
____11.2.4 마스터 고가용성 및 복구 기능
__11.3 스파크 자체 클러스터의 웹 UI
__11.4 스파크 자체 클러스터에서 애플리케이션 실행
____11.4.1 드라이버의 위치
____11.4.2 실행자 개수 지정
____11.4.3 추가 클래스패스 항목 및 파일 지정
____11.4.4 애플리케이션 강제 종료
____11.4.5 애플리케이션 자동 재시작
__11.5 스파크 히스토리 서버와 이벤트 로깅
__11.6 아마존 EC2에서 스파크 실행
____11.6.1 사전 준비
____11.6.2 EC2 기반 스파크 자체 클러스터 생성
____11.6.3 EC2 클러스터 사용
____11.6.4 클러스터 제거
__11.7 요약

12장 YARN 클러스터와 메소스 클러스터
__12.1 YARN에서 스파크 실행
____12.1.1 YARN 아키텍처
____12.1.2 YARN 설치, 구성 및 시작
____12.1.3 YARN의 리소스 스케줄링
____12.1.4 YARN에 스파크 애플리케이션 제출
____12.1.5 YARN에서 스파크 설정
____12.1.6 스파크 잡에 할당할 리소스 설정
____12.1.7 YARN UI
____12.1.8 YARN에서 로그 조회
____12.1.9 보안 관련 사항
____12.1.10 동적 리소스 할당
__12.2 메소스에서 스파크 실행
____12.2.1 메소스 아키텍처
____12.2.2 메소스 설치 및 설정
____12.2.3 메소스 웹 UI
____12.2.4 메소스의 리소스 스케줄링
____12.2.5 메소스에 스파크 애플리케이션 제출
____12.2.6 도커로 스파크 실행
__12.3 요약

4부 스파크의 활용

13장 실용 예제: 실시간 대시보드를 구현하자
__13.1 예제 애플리케이션 소개
____13.1.1 예제 시나리오
____13.1.2 예제 애플리케이션의 컴포넌트
__13.2 애플리케이션 실행
____13.2.1 가상 머신에서 애플리케이션 시작
____13.2.2 애플리케이션을 수동으로 시작
__13.3 소스 코드 이해
____13.3.1 KafkaLogsSimulator 프로젝트
____13.3.2 StreamingLogAnalyzer 프로젝트
____13.3.3 WebStatsDashboard 프로젝트
____13.3.4 프로젝트 빌드
__13.4 요약

14장 스파크와 H2O를 활용한 딥러닝
__14.1 딥러닝의 개요
__14.2 스파크에서 H2O 사용
____14.2.1 H2O의 개요
____14.2.2 스파크에서 스파클링 워터 시작
____14.2.3 H2O 클러스터 시작
____14.2.4 플로 UI에 접속
__14.3 H2O의 딥러닝을 사용한 회귀 예측
____14.3.1 데이터를 H2O 프레임으로 로드
____14.3.2 플로 UI로 딥러닝 모델 구축 및 평가
____14.3.3 스파클링 워터 API로 딥러닝 모델 구축 및 평가
__14.4 H2O의 딥러닝을 사용한 분류 예측
____14.4.1 데이터 로드 및 분할
____14.4.2 플로 UI로 모델 구축
____14.4.3 스파클링 워터 API로 모델 구축
____14.4.4 H2O 클러스터 중지
__14.5 요약

부록 A 아파치 스파크 설치
__A.1 사전 준비: JDK 설치
__A.2 JAVA_HOME 환경 변수 설정
__A.3 스파크 내려받기, 설치, 설정
__A.4 스파크 셸
부록 B 맵리듀스
부록 C 선형 대수학 입문
__C.1 행렬과 벡터
__C.2 행렬 덧셈
__C.3 스칼라배
__C.4 행렬 곱셈
__C.5 단위행렬
__C.6 역행렬

찾아보기

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.