| 000 | 00000cam c2200205 c 4500 | |
| 001 | 000045951103 | |
| 005 | 20180821093757 | |
| 007 | ta | |
| 008 | 180820s2018 ggka b 001c kor | |
| 020 | ▼a 9791160504798 ▼g 93000 | |
| 035 | ▼a (KERIS)BIB000014834499 | |
| 040 | ▼a 211040 ▼c 211040 ▼d 211009 | |
| 041 | 1 | ▼a kor ▼h eng |
| 082 | 0 4 | ▼a 006.312 ▼2 23 |
| 085 | ▼a 006.312 ▼2 DDCK | |
| 090 | ▼a 006.312 ▼b 2018z6 | |
| 100 | 1 | ▼a Zecević, Petar |
| 245 | 1 0 | ▼a 스파크를 다루는 기술 : ▼b 실무에서 알아야 할 기술은 따로 있다! / ▼d 페타 제체비치 외 지음 ; ▼e 이춘오 옮김 |
| 246 | 1 9 | ▼a Spark in action |
| 260 | ▼a 파주 : ▼b 길벗, ▼c 2018 | |
| 300 | ▼a 608 p. : ▼b 삽화 ; ▼c 24 cm | |
| 500 | ▼a 색인수록 | |
| 546 | ▼a 영어로 된 원저작을 한국어로 번역 | |
| 700 | 1 | ▼a Bonaći, Marko, ▼e 저 |
| 700 | 1 | ▼a 이춘오, ▼e 역 |
| 900 | 1 0 | ▼a 제체비치, 페타, ▼e 저 |
| 900 | 1 0 | ▼a 보나치, 마르코, ▼e 저 |
소장정보
| No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
|---|---|---|---|---|---|---|---|
| No. 1 | 소장처 세종학술정보원/과학기술실(5층)/ | 청구기호 006.312 2018z6 | 등록번호 151342443 (2회 대출) | 도서상태 대출불가(자료실) | 반납예정일 | 예약 | 서비스 |
컨텐츠정보
책소개
스파크 활용 가이드로, 스파크를 이해하고 활용하는 데 필요한 중요 내용을 빠짐없이 다룬다. 1부에서 스파크와 스파크의 풍부한 API를 소개하고, 2부에서 스파크를 구성하는 스파크 SQL, 스파크 스트리밍, 스파크 MLlib, 스파크 GraphX 컴포넌트를 알아본다. 그리고 3부는 스파크 자체 클러스터, 하둡의 YARN 클러스터 및 메소스 클러스터에서 애플리케이션을 실행하는 데 필요한 기본 개념과 설정 옵션을 다룬다. 마지막으로 4부는 더욱 상위 레벨에서 스파크를 활용하는 방법을 다룬다.
스파크의 방대한 내용을 고르고 깊게 다룬다! 철두철미하면서 상냥한 스파크 활용 가이드!
이 책은 스파크를 이해하고 활용하는 데 필요한 중요 내용을 빠짐없이 다룬다. 1부에서 스파크와 스파크의 풍부한 API를 소개하고, 2부에서 스파크를 구성하는 스파크 SQL, 스파크 스트리밍, 스파크 MLlib, 스파크 GraphX 컴포넌트를 알아본다. 그리고 3부는 스파크 자체 클러스터, 하둡의 YARN 클러스터 및 메소스 클러스터에서 애플리케이션을 실행하는 데 필요한 기본 개념과 설정 옵션을 다룬다. 마지막으로 4부는 더욱 상위 레벨에서 스파크를 활용하는 방법을 다룬다.
책은 스칼라 언어로 예제 코드를 작성했고, 자바나 파이썬으로 작성한 코드는 온라인 저장소에서 찾아볼 수 있다. 책의 예제는 가상 머신으로 손쉽게 실행할 수 있다.
스파크, 현장 밀착 입문서는 따로 있다!
스파크를 사용하고 활용하는 데 필요한 중요 주제를 두루 다룬다.
이 책이 다루는 주제는 스파크의 런타임 옵션을 설정하는 방법부터 독립형 작업이나 대화형 작업을 실행하는 방법, 일괄 처리, 스트리밍, 머신 러닝 애플리케이션의 구현 방법에 이른다. 또한, 스파크를 설치, 설정, 실행하는 방법 등 운영적인 측면까지 모두 담았다.
스파크의 개념을 잘 보여주고 이해하기 쉬운 예제와 데이터셋!
예제 데이터셋은 개인용 컴퓨터에서 실행할 수 있을 정도로 가볍다. 예제를 통해 스파크를 사용하고 실행하는 방법을 이해하여, 자신의 운영 환경에 적용할 스파크 애플리케이션을 작성해보자.
가상 머신으로 스파크의 실습 환경을 손쉽게 구축하고, 예제를 실행하자!
가상 머신을 사용해 책의 모든 예제를 실행할 수 있다. 각기 다른 버전의 자바, 스파크 및 운영 체제로 고민할 필요 없이, 가상 머신으로 예제를 손쉽게 실행해보자.
[이 책에서 배우는 것들]
1부 스파크와 스파크의 풍부한 API 소개
스파크의 주요 기능과 가상 머신 소개 | 스파크 셸, RDD, 스파크 클러스터, 스파크 코어 API | 데이터 파티셔닝, 셔플링, 누적변수, 공유변수
2부 스파크를 구성하는 스파크 SQL, 스파크 스트리밍, 스파크 MLlib, 스파크 GraphX 컴포넌트 학습
DataFrame을 생성하고 사용하는 방법 | SQL을 사용해 DataFrame에 질의하는 방법 | 외부 소스에서 데이터를 로드하고 저장하는 방법 | 스파크 스트리밍과 카프카를 연결하는 방법 | 스트리밍 잡의 성능을 개선하는 방법 | 선형 회귀, 로지스틱 회귀, 의사 결정 트리, 랜덤 포레스트, k-평균 군집화 소개 | 그래프 변환, 조인 연산과 그래프 알고리즘을 사용하는 방법, A* 검색 | 알고리즘 구현 방법
3부 스파크 자체 클러스터, 하둡의 YARN 클러스터 및 메소스 클러스터에서 애플리케이션 실행
스파크를 설정하고, 스파크 웹 UI를 사용하는 방법 | 아마존 EC2에서 스파크 자체 클러스터를 구성하는 방법 | YARN 클러스터 및 메소스 클러스터를 구축, 설정, 사용하는 방법
4부 상위 레벨에서 스파크 활용
접속 로그 분석 결과를 실시간 대시보드에 표시하는 스파크 스트리밍 애플리케이션 구현 방법 | H2O와 스파클링 워터 소개
정보제공 :
저자소개
페타 제체비치(지은이)
소프트웨어 업계에서 15년이 넘는 경력을 보유하고 있다. 자바 개발자로 커리어를 시작해 풀스택 개발자, 컨설턴트, 분석가, 팀장으로서 다양한 프로젝트에 참여해 왔다. 현재는 크로아티아의 대형 은행과 정부 기관 및 기업을 지원하는 소프트웨어 기업인 SV Group에서 CTO로 일하고 있다. 매달 아파치 스파크 자그레브 밋업을 주최하며, 학회 논문을 발표하고, 여러 아파치 스파크 프로젝트를 진행하는 등 왕성한 활동을 이어가고 있다.
마르코 보나치(지은이)
13년 동안 자바 개발자 경력을 쌓아 왔다. 현재는 Sematext에서 스파크 개발자 및 컨설턴트로 활동하고 있다. 그 전에는 SV Group에서 IBM Enterprise Content Management 팀의 팀장으로 근무했다.
이춘오(옮긴이)
KAIST 정보통신공학과 학사 및 박사 학위를 취득하고, 삼성전자에서 빅데이터 플랫폼 엔지니어로 근무했으며, 현재는 SK 플래닛의 데이터 과학자로 재직 중이다. 11번가의 다양한 데이터를 바탕으로 각종 예측 모델을 구축하고 데이터 기반 서비스를 개발하는 업무를 하고 있다.
목차
목차 1부 첫걸음 1장 아파치 스파크 소개 = 29 1.1 스파크란 = 30 1.1.1 스파크가 가져온 혁명 = 32 1.1.2 맵리듀스의 한계 = 32 1.1.3 스파크가 가져다준 선물 = 33 1.2 스파크를 구성하는 컴포넌트 = 36 1.2.1 스파크 코어 = 36 1.2.2 스파크 SQL = 38 1.2.3 스파크 스트리밍 = 38 1.2.4 스파크 MLlib = 39 1.2.5 스파크 GraphX = 39 1.3 스파크 프로그램의 실행 과정 = 40 1.4 스파크 생태계 = 43 1.5 가상 머신 설정 = 45 1.5.1 가상 머신 시작 = 46 1.5.2 가상 머신 종료 = 48 1.6 요약 = 49 2장 스파크의 기초 = 51 2.1 가상 머신 사용 = 53 2.1.1 깃허브 저장소 복제 = 53 2.1.2 자바 찾기 = 54 2.1.3 가상 머신에 설치된 하둡 사용 = 55 2.1.4 가상 머신에 설치된 스파크 살펴보기 = 56 2.2 스파크 셸로 첫 스파크 프로그램 작성 = 57 2.2.1 스파크 셸 시작 = 58 2.2.2 첫 스파크 코드 예제 = 60 2.2.3 RDD의 개념 = 62 2.3 RDD의 기본 행동 연산자 및 변환 연산자 = 64 2.3.1 map 변환 연산자 = 64 2.3.2 distinct와 flatMap 변환 연산자 = 67 2.3.3 sample, take, takeSample 연산으로 RDD의 일부 요소 가져오기 = 71 2.4 Double RDD 전용 함수 = 74 2.4.1 double RDD 함수로 기초 통계량 계산 = 75 2.4.2 히스토그램으로 데이터 분포 시각화 = 76 2.4.3 근사 합계 및 평균 계산 = 76 2.5 요약 = 77 3장 스파크 애플리케이션 작성하기 = 79 3.1 이클립스로 스파크 프로젝트 생성 = 80 3.2 스파크 애플리케이션 개발 = 87 3.2.1 깃허브 아카이브 데이터셋 준비 = 88 3.2.2 JSON 로드 = 90 3.2.3 이클립스에서 애플리케이션 실행 = 92 3.2.4 데이터 집계 = 95 3.2.5 분석 대상 제외 = 97 3.2.6 공유 변수 = 100 3.2.7 전체 데이터셋 사용 = 103 3.3 애플리케이션 제출 = 105 3.3.1 uberjar 빌드 = 105 3.3.2 애플리케이션의 적응력 올리기 = 107 3.3.3 spark-submit 사용 = 110 3.4 요약 = 113 4장 스파크 API 깊이 파헤치기 = 115 4.1 Pair RDD 다루기 = 116 4.1.1 Pair RDD 생성 = 117 4.1.2 기본 Pair RDD 함수 = 117 4.2 데이터 파티셔닝을 이해하고 데이터 셔플링 최소화 = 125 4.2.1 스파크의 데이터 Partitioner = 127 4.2.2 불필요한 셔플링 줄이기 = 128 4.2.3 RDD 파티션 변경 = 133 4.2.4 파티션 단위로 데이터 매핑 = 134 4.3 데이터 조인, 정렬, 그루핑 = 137 4.3.1 데이터 조인 = 137 4.3.2 데이터 정렬 = 145 4.3.3 데이터 그루핑 = 150 4.4 RDD 의존 관계 = 154 4.4.1 RDD 의존 관계와 스파크 동작 메커니즘 = 154 4.4.2 스파크의 스테이지와 태스크 = 156 4.4.3 체크포인트로 RDD 계보 저장 = 157 4.5 누적 변수와 공유 변수 = 158 4.5.1 누적 변수로 실행자에서 데이터 가져오기 = 158 4.5.2 공유 변수로 실행자에 데이터 전송 = 161 4.6 요약 = 162 2부 스파크 패밀리와 만남 5장 스파크 SQL로 멋진 쿼리를 실행하자 = 167 5.1 DataFrame 다루기 = 169 5.1.1 RDD에서 DataFrame 생성 = 172 5.1.2 기본 DataFrame API = 182 5.1.3 SQL 함수로 데이터에 연산 수행 = 186 5.1.4 결측 값 다루기 = 192 5.1.5 DataFrame을 RDD로 변환 = 194 5.1.6 데이터 그루핑 = 195 5.1.7 데이터 조인 = 199 5.2 DataFrame을 넘어 Dataset으로 = 201 5.3 SQL 명령 = 202 5.3.1 테이블 카탈로그와 하이브 메타스토어 = 203 5.3.2 SQL 쿼리 실행 = 206 5.3.3 쓰리프트 서버로 스파크 SQL 접속 = 208 5.4 DataFrame을 저장하고 불러오기 = 213 5.4.1 기본 데이터 소스 = 213 5.4.2 데이터 저장 = 215 5.4.3 데이터 불러오기 = 218 5.5 카탈리스트 최적화 엔진 = 220 5.6 텅스텐 프로젝트의 스파크 성능 향상 = 223 5.7 요약 = 224 6장 스파크 스트리밍으로 데이터를 흐르게 하자 = 227 6.1 스파크 스트리밍 애플리케이션 작성 = 229 6.1.1 예제 애플리케이션 = 230 6.1.2 스트리밍 컨텍스트 생성 = 231 6.1.3 이산 스트림 생성 = 232 6.1.4 이산 스트림 사용 = 233 6.1.5 결과를 파일로 저장 = 235 6.1.6 스트리밍 계산 작업의 시작과 종료 = 236 6.1.7 시간에 따라 변화하는 계산 상태 저장 = 238 6.1.8 윈도 연산으로 일정 시간 동안 유입된 데이터만 계산 = 246 6.1.9 그 외 내장 입력 스트림 = 250 6.2 외부 데이터 소스 사용 = 251 6.2.1 카프카 시작 = 252 6.2.2 카프카를 사용해 스트리밍 애플리케이션 개발 = 253 6.3 스파크 스트리밍의 잡 성능 = 262 6.3.1 성능 개선 = 262 6.3.2 장애 내성 = 265 6.4 정형 스트리밍 = 267 6.4.1 스트리밍 DataFrame 생성 = 267 6.4.2 스트리밍 데이터 출력 = 268 6.4.3 스트리밍 실행 관리 = 269 6.4.4 정형 스트리밍의 미래 = 270 6.5 요약 = 270 7장 MLlib로 더 똑똑해지자 = 273 7.1 머신 러닝의 개요 = 275 7.1.1 머신 러닝의 정의 = 278 7.1.2 머신 러닝 알고리즘의 유형 = 278 7.1.3 스파크를 활용한 머신 러닝 = 282 7.2 스파크에서 선형 대수 연산 수행 = 283 7.2.1 로컬 벡터와 로컬 행렬 = 284 7.2.2 분산 행렬 = 289 7.3 선형 회귀 = 291 7.3.1 선형 회귀 소개 = 291 7.3.2 단순 선형 회귀 = 291 7.3.3 다중 선형 회귀로 모델 확장 = 294 7.4 데이터 분석 및 준비 = 297 7.4.1 데이터 분포 분석 = 298 7.4.2 열 코사인 유사도 분석 = 299 7.4.3 공분산 행렬 계산 = 300 7.4.4 레이블 포인트로 변환 = 301 7.4.5 데이터 분할 = 302 7.4.6 특징 변수 스케일링 및 평균 정규화 = 302 7.5 선형 회귀 모델 학습 및 활용 = 303 7.5.1 목표 변수 값 예측 = 304 7.5.2 모델 성능 평가 = 305 7.5.3 모델 매개변수 해석 = 306 7.5.4 모델의 저장 및 불러오기 = 307 7.6 알고리즘 정확도 극대화 = 307 7.6.1 적절한 이동 거리와 반복 횟수를 찾는 방법 = 308 7.6.2 고차 다항식 추가 = 310 7.6.3 편향-분산 상충 관계와 모델의 복잡도 = 312 7.6.4 잔차 차트 그리기 = 314 7.6.5 일반화를 사용해 과적합 방지 = 316 7.6.6 k-겹 교차 검증 = 318 7.7 알고리즘 성능 최적화 = 319 7.7.1 미니배치 기반 확률적 경사 하강법 = 319 7.7.2 LBFGS 최적화 = 321 7.8 요약 = 323 8장 스파크 ML로 만드는 분류와 군집화 = 325 8.1 스파크 ML 라이브러리 = 327 8.1.1 변환자, 추정자, 평가자 = 328 8.1.2 ML 매개변수 = 329 8.1.3 ML 파이프라인 = 329 8.2 로지스틱 회귀 = 330 8.2.1 이진 로지스틱 회귀 모델 = 331 8.2.2 로지스틱 회귀에 필요한 데이터 준비 = 334 8.2.3 로지스틱 회귀 모델 훈련 = 339 8.2.4 분류 모델의 평가 = 342 8.2.5 k-겹 교차 검증 수행 = 346 8.2.6 다중 클래스 로지스틱 회귀 = 349 8.3 의사 결정 트리와 랜덤 포레스트 = 352 8.3.1 의사 결정 트리 = 353 8.3.2 랜덤 포레스트 = 360 8.4 군집화 = 362 8.4.1 k-평균 군집화 = 364 8.5 요약 = 371 9장 점을 연결하는 GraphX = 373 9.1 스파크의 그래프 연산 = 374 9.1.1 GraphX API를 사용해 그래프 만들기 = 375 9.1.2 그래프 변환 = 377 9.2 그래프 알고리즘 = 384 9.2.1 예제 데이터셋 = 385 9.2.2 최단 경로 알고리즘 = 387 9.2.3 페이지랭크 = 388 9.2.4 연결요소 = 389 9.2.5 강연결요소 = 391 9.3 A*검색 알고리즘 구현 = 393 9.3.1 A*알고리즘 이해 = 393 9.3.2 A*알고리즘 구현 = 396 9.3.3 구현된 알고리즘 테스트 = 404 9.4 요약 = 407 3부 스파크 옵스 10장 스파크 클러스터 구동 = 411 10.1 스파크 런타임 아키텍처의 개요 = 413 10.1.1 스파크 런타임 컴포넌트 = 413 10.1.2 스파크 클러스터 유형 = 416 10.2 잡 스케줄링과 리소스 스케줄링 = 418 10.2.1 클러스터 리소스 스케줄링 = 419 10.2.2 스파크 잡 스케줄링 = 419 10.2.3 데이터 지역성 = 423 10.2.4 스파크의 메모리 스케줄링 = 424 10.3 스파크 설정 = 427 10.3.1 스파크 환경 설정 파일 = 427 10.3.2 명령줄 매개변수 = 428 10.3.3 시스템 환경 변수 = 428 10.3.4 프로그램 코드로 환경 설정 = 429 10.3.5 master 매개변수 = 429 10.3.6 설정된 매개변수 조회 = 430 10.4 스파크 웹 UI = 431 10.4.1 Jobs 페이지 = 431 10.4.2 Stages 페이지 = 433 10.4.3 Storage 페이지 = 435 10.4.4 Environment 페이지 = 436 10.4.5 Executors 페이지 = 436 10.5 로컬 머신에서 스파크 실행 = 437 10.5.1 로컬 모드 = 437 10.5.2 로컬 클러스터 모드 = 439 10.6 요약 = 440 11장 스파크 자체 클러스터 = 441 11.1 스파크 자체 클러스터의 컴포넌트 = 442 11.2 스파크 자체 클러스터 시작 = 445 11.2.1 셸 스크립트로 클러스터 시작 = 446 11.2.2 수동으로 클러스터 시작 = 450 11.2.3 스파크 프로세스 조회 = 451 11.2.4 마스터 고가용성 및 복구 기능 = 451 11.3 스파크 자체 클러스터의 웹 UI = 454 11.4 스파크 자체 클러스터에서 애플리케이션 실행 = 456 11.4.1 드라이버의 위치 = 456 11.4.2 실행자 개수 지정 = 458 11.4.3 추가 클래스패스 항목 및 파일 지정 = 459 11.4.4 애플리케이션 강제 종료 = 461 11.4.5 애플리케이션 자동 재시작 = 461 11.5 스파크 히스토리 서버와 이벤트 로깅 = 462 11.6 아마존 EC2에서 스파크 실행 = 464 11.6.1 사전 준비 = 464 11.6.2 EC2 기반 스파크 자체 클러스터 생성 = 467 11.6.3 EC2 클러스터 사용 = 471 11.6.4 클러스터 제거 = 475 11.7 요약 = 476 12장 YARN 클러스터와 메소스 클러스터 = 477 12.1 YARN에서 스파크 실행 = 478 12.1.1 YARN 아키텍처 = 479 12.1.2 YARN 설치, 구성 및 시작 = 481 12.1.3 YARN의 리소스 스케줄링 = 482 12.1.4 YARN에 스파크 애플리케이션 제출 = 484 12.1.5 YARN에서 스파크 설정 = 486 12.1.6 스파크 잡에 할당할 리소스 설정 = 489 12.1.7 YARN UI = 491 12.1.8 YARN에서 로그 조회 = 493 12.1.9 보안 관련 사항 = 495 12.1.10 동적 리소스 할당 = 495 12.2 메소스에서 스파크 실행 = 498 12.2.1 메소스 아키텍처 = 499 12.2.2 메소스 설치 및 설정 = 503 12.2.3 메소스 웹 UI = 505 12.2.4 메소스의 리소스 스케줄링 = 507 12.2.5 메소스에 스파크 애플리케이션 제출 = 509 12.2.6 도커로 스파크 실행 = 511 12.3 요약 = 517 4부 스파크의 활용 13장 실용 예제 : 실시간 대시보드를 구현하자 = 521 13.1 예제 애플리케이션 소개 = 522 13.1.1 예제 시나리오 = 522 13.1.2 예제 애플리케이션의 컴포넌트 = 524 13.2 애플리케이션 실행 = 527 13.2.1 가상 머신에서 애플리케이션 시작 = 527 13.2.2 애플리케이션을 수동으로 시작 = 533 13.3 소스 코드 이해 = 536 13.3.1 KafkaLogsSimulator 프로젝트 = 536 13.3.2 StreamingLogAnalyzer 프로젝트 = 537 13.3.3 WebStatsDashboard 프로젝트 = 546 13.3.4 프로젝트 빌드 = 547 13.4 요약 = 547 14장 스파크와 H2O를 활용한 딥러닝 = 549 14.1 딥러닝의 개요 = 550 14.2 스파크에서 H2O 사용 = 552 14.2.1 H2O의 개요 = 553 14.2.2 스파크에서 스파클링 워터 시작 = 554 14.2.3 H2O 클러스터 시작 = 557 14.2.4 플로 UI에 접속 = 558 14.3 H2O의 딥러닝을 사용한 회귀 예측 = 560 14.3.1 데이터를 H2O 프레임으로 로드 = 560 14.3.2 플로 UI로 딥러닝 모델 구축 및 평가 = 564 14.3.3 스파클링 워터 API로 딥러닝 모델 구축 및 평가 = 568 14.4 H2O의 딥러닝을 사용한 분류 예측 = 573 14.4.1 데이터 로드 및 분할 = 573 14.4.2 플로 UI로 모델 구축 = 575 14.4.3 스파클링 워터 API로 모델 구축 = 577 14.4.4 H2O 클러스터 중지 = 578 14.5 요약 = 579 부록 A 아파치 스파크 설치 = 581 A.1 사전 준비 : JDK 설치 = 582 A.2 JAVA_HOME 환경 변수 설정 = 583 A.3 스파크 내려받기, 설치, 설정 = 584 A.4 스파크 셸 = 587 부록 B 맵리듀스 = 591 부록 C 선형 대수학 입문 = 595 C.1 행렬과 벡터 = 596 C.2 행렬 덧셈 = 597 C.3 스칼라배 = 597 C.4 행렬 곱셈 = 598 C.5 단위행렬 = 599 C.6 역행렬 = 599 찾아보기 = 600



