HOME / CATALOG / 데이터베이스 & 빅데이터
데이터베이스 & 빅데이터

빅데이터 분석을 위한 스파크 2 프로그래밍 [개정판]

대용량 데이터 처리부터 머신러닝까지
지은이 백성민
도서 정보
출간일
2018년 4월 12일
쪽수
644쪽
ISBN
9791158391034
시리즈
데이터베이스 & 빅데이터 시리즈_020
정가
35,000원
난이도
ERR 오탈자 등록
도서 소개
저자 소개
목차
예제 코드
정오표

도서 소개

스파크를 처음 접하는 입문자를 위한 안내서!

하둡으로 대표되던 빅데이터 처리 기술은 빅데이터와 머신러닝, 딥러닝의 붐을 타고 믿을 수 없을 만큼 빠른 속도로 발전해가고 있습니다. 작년 봄 이 책의 초판이 출시되던 해에 스파크는 이미 최고의 데이터 처리 플랫폼 중 하나로 인정받고 있었습니다. 하지만 더 이상 큰 폭의 개편은 없을 것만 같았던 스파크는 그 후로도 더욱 주목할 만한 변화를 거듭하면서 불과 1년이 지난 지금 더욱더 새로워진 API와 고도화된 성능을 갖춘 최적의 데이터 처리 플랫폼으로 변화를 거듭하고 있습니다.

이 책은 스파크를 처음 접하는 개발자들이 빠른 시간 내에 스파크가 무엇이고 어디에 어떻게 활용할 수 있는지 실무에 필요한 감을 잡을 수 있도록 스파크의 전체 모듈에 대한 설명과 예제를 담고 있습니다. 특히 스파크를 써 보고 싶지만 새로운 언어를 배우는 데 따르는 부담 때문에 망설이던 개발자들을 위해 스칼라, 자바, 파이썬 예제를 수록했습니다.

이 책을 통해 스파크에 대한 기초를 다지고 나면 각자의 영역에서 스파크가 제공하는 풍부한 기능들을 더 깊이 있고 자유롭게 활용할 수 있게 될 것입니다.

저자 소개

백성민

어쩌다 시작한 개발이 천직이 되어 버린 행복한 개발자. 좋아하고 즐기는 일을 직업으로 가질 수 있음에 더없이 감사한 마음으로 살고 있다. 2001년 이후 줄곧 실무 개발자로 일하고 있으며 지금은 한 포털 회사에서 광고 데이터 분석 업무를 수행하고 있다. 올해는 책만 사서 쌓아두는 일을 그만하고 그동안 모아둔 책들을 한 권이라도 더 읽어봐야겠다는 다짐을 벌써 수년째 하고 있는 중이다. 번역서로 《거침없이 배우는 자바 파워 툴》(지앤선, 2011)이 있다.

목차

  • ▣ 01장: 스파크 소개
    • 1.1 스파크
      • 1.1.1 빅데이터의 등장
      • 1.1.2 빅데이터의 정의
      • 1.1.3 빅데이터 솔루션
      • 1.1.4 스파크
      • 1.1.5 RDD(Resilient Distributed Dataset) 소개와 연산
      • 1.1.6 DAG
      • 1.1.7 람다 아키텍처
    • 1.2 스파크 설치
      • 1.2.1 스파크 실행 모드의 이해
      • 1.2.2 사전 준비
      • 1.2.3 스파크 설치
      • 1.2.4 예제 실행
      • 1.2.5 스파크 셸
      • 1.2.6 실행 옵션
      • 1.2.7 더 살펴보기
    • 1.3 개발 환경 구축
      • 1.3.1 로컬 개발 환경 구축
    • 1.4 예제 프로젝트 설정
      • 1.4.1 WordCount 예제 실행
    • 1.5 데이터프레임과 데이터셋
    • 1.6 정리
    •  
  • ▣ 02장: RDD
    • 2.1 RDD
      • 2.1.1 들어가기에 앞서
      • 2.1.2 스파크컨텍스트 생성
      • 2.1.3 RDD 생성
      • 2.1.4 RDD 기본 액션
      • 2.1.5 RDD 트랜스포메이션
      • 2.1.6 RDD 액션
      • 2.1.7 RDD 데이터 불러오기와 저장하기
      • 2.1.8 클러스터 환경에서의 공유 변수
    • 2.2 정리
    •  
  • ▣ 03장: 클러스터 환경
    • 3.1 클러스터 환경
      • 3.1.1 클러스터 모드와 컴포넌트
      • 3.1.2 클러스터 모드를 위한 시스템 구성
      • 3.1.3 드라이버 프로그램과 디플로이 모드
    • 3.2 클러스터 매니저
      • 3.2.1 스탠드얼론 클러스터 매니저
      • 3.2.2 아파치 메소스
      • 3.2.3 얀
      • 3.2.4 히스토리 서버와 매트릭스
      • 3.2.5 쿠버네티스(Kubenetes)
    • 3.3 정리
    •  
  • ▣ 04장: 스파크 설정
    • 4.1 스파크 프로퍼티
    • 4.2 환경변수
    • 4.3 로깅 설정
    • 4.4 스케줄링
      • 4.4.1 애플리케이션 간의 자원 스케줄링
      • 4.4.2 단일 애플리케이션 내부에서의 자원 스케줄링
    • 4.5 정리
    •  
  • ▣ 05장: 스파크 SQL
    • 5.1 데이터셋
    • 5.2 연산의 종류와 주요 API
    • 5.3 코드 작성 절차 및 단어 수 세기 예제
    • 5.4 스파크세션
    • 5.5 데이터프레임, 로우, 칼럼
      • 5.5.1 데이터프레임 생성
      • 5.5.2 주요 연산 및 사용법
    • 5.6 데이터셋
      • 5.6.1 데이터셋 생성
      • 5.6.2 타입 트랜스포메이션 연산
    • 5.7 하이브 연동
    • 5.8 분산 SQL 엔진
    • 5.9 Spark SQL CLI
    • 5.10 쿼리플랜(Query Plan)과 디버깅
      • 5.10.1 스파크세션(SparkSession)과 세션스테이트(SessionState), 스파크컨텍스트(SparkContext)
      • 5.10.2 QueryExecution
      • 5.10.3 LogicalPlan과 SparkPlan
    • 5.11 정리
    •  
  • ▣ 06장: 스파크 스트리밍
    • 6.1 개요 및 주요 용어
    • 6.1.1 스트리밍컨텍스트
      • 6.1.2 DStream(Discretized Streams)
    • 6.2 데이터 읽기
      • 6.2.1 소켓
      • 6.2.2 파일
      • 6.2.3 RDD 큐(Queue of RDD)
      • 6.2.4 카프카
    • 6.3 데이터 다루기(기본 연산)
      • 6.3.1 print()
      • 6.3.2 map(func)
      • 6.3.3 flatMap(func)
      • 6.3.4 count(), countByValue()
      • 6.3.5 reduce(func), reduceByKey(func)
      • 6.3.6 filter(func)
      • 6.3.7 union()
      • 6.3.8 join()
    • 6.4 데이터 다루기(고급 연산)
      • 6.4.1 transform(func)
      • 6.4.2 updateStateByKey()
      • 6.4.3 윈도우 연산
      • 6.4.4 window(windowLength, slideInterval)
      • 6.4.5 countByWindow(windowLength, slideInterval)
      • 6.4.6 reduceByWindow(func, windowLength, slideInterval)
      • 6.4.7 reduceByKeyAndWindow(func, invFunc, windowLength, slideInterval, [numTasks])
      • 6.4.8 countByValueAndWindow(windowLength, slideInterval, [numTasks])
    • 6.5 데이터의 저장
      • 6.5.1 saveAsTextFiles(), saveAsObjectFiles(), saveAsHadoopFiles()
      • 6.5.2 foreachRDD()
    • 6.6 CheckPoint
    • 6.7 캐시
    • 6.8 모니터링
    • 6.9 주요 설정
    •  
  • ▣ 07장: 스트럭처 스트리밍
    • 7.1 개요
    • 7.2 프로그래밍 절차
    • 7.3 데이터프레임과 데이터셋 생성
    • 7.4 스트리밍 연산
      • 7.4.1 기본 연산 및 집계 연산
      • 7.4.2 윈도우 연산
      • 7.4.3 워터마킹
      • 7.4.4 조인 연산
      • 7.4.5 스트리밍 중복 데이터 제거
      • 7.4.6 스트리밍 쿼리
    • 7.5 정리
    •  
  • ▣ 08장: MLlib
    • 8.1 개요
    • 8.2 관측과 특성
    • 8.3 레이블
    • 8.4 연속형 데이터와 이산형 데이터
    • 8.5 알고리즘과 모델
    • 8.6 파라메트릭 알고리즘
    • 8.7 지도학습과 비지도학습
    • 8.8 훈련 데이터와 테스트 데이터
    • 8.9 MLlib API
    • 8.10 의존성 설정
    • 8.11 벡터와 LabeledPoint
      • 8.11.1 벡터
      • 8.11.2 LabeledPoint
    • 8.12 파이프라인
    • 8.13 알고리즘
      • 8.13.1 Tokenizer
      • 8.13.2 TF-IDF
      • 8.13.3 StringIndexer, IndexToString
    • 8.14 회귀와 분류
      • 8.14.1 회귀
      • 8.14.2 분류
    • 8.15 클러스터링
    • 8.16 협업 필터링
    • 8.17 정리
    •  
  • ▣ 09장: SparkR
    • 9.1 개요
    • 9.2 R 설치 및 실행
    • 9.3 데이터프레임
    • 9.4 데이터프레임 생성
      • 9.4.1 R데이터프레임으로부터 생성
      • 9.4.2 파일로부터 생성
    • 9.5 데이터프레임 연산
      • 9.5.1 조회 및 기본 연산
      • 9.5.2 그룹 및 집계 연산
      • 9.5.3 칼럼 연산
      • 9.5.4 집합 연산
      • 9.5.5 dapply(), dapplyCollect()
      • 9.5.6 gapply(), gapplyCollect()
      • 9.5.7 spark.lapply()
      • 9.5.8 createOrReplaceTempView()
      • 9.5.9 write()
    • 9.6 하이브 연동
    • 9.7 머신러닝
    • 9.8 정리
    •  
  • ▣ 10장: GraphX
    • 10.1 주요 용어
      • 10.1.1 유방향 그래프
      • 10.1.2 유방향 멀티 그래프
      • 10.1.3 속성 그래프
    • 10.2 데이터 타입
      • 10.2.1 RDD
      • 10.2.2 VertextID
      • 10.2.3 꼭짓점
      • 10.2.4 선(Edge)
      • 10.2.5 EdgeTriplet
      • 10.2.6 VertexRDD
      • 10.2.7 EdgeRDD
      • 10.2.8 Graph
    • 10.3 그래프 생성
    • 10.4 그래프 연산
      • 10.4.1 numEdges, numVertices
      • 10.4.2 inDegrees, outDegrees, degrees
      • 10.4.3 vertices, edges, triplets
      • 10.4.4 mapVertices(), mapEdges(), mapTriplets()
      • 10.4.5 reverse()
      • 10.4.6 subgraph()
      • 10.4.7 mask()
      • 10.4.8 groupEdges()
      • 10.4.9 joinVertices(), outerJoinVertices()
      • 10.4.10 collectNeighborIds(), collectNeighbors()
      • 10.4.11 aggregateMessages()
      • 10.4.12 pregel()
    • 10.5 VertextRDD, EdgeRDD 연산
    • 10.6 그래프 알고리즘
    • 10.7 정리
    •  
  • ▣ 부록: 스칼라란?
    • 스칼라 설치
    • 스칼라 셸
    • 변수 타입과 변수 선언
    • Range와 형변환
    • 클래스, 객체, 컴패니언 오브젝트
    • 트레이트와 상속
    • apply
    • 튜플과 옵션, 케이스클래스
    • 패턴 매치
    • 패키지 객체
    • type
    • 임포트
    • 함수와 메서드
    • 제네릭
    • 암묵적 변환과 타입 클래스 패턴
    • 정리

예제 코드

정오표

  • 93쪽에서 99쪽 2.1.2절 '스파크컨텍스트 생성' 전까지의 내용을 다음 파일로 교체

    spark2nd-93-99.pdf

  • 224쪽, 본문 중간의 번호 목록

    4. 3번 단계가 제대로 수행됐다면

    ==>

    3. 2번 단계가 제대로 수행됐다면

WHERE TO BUY · 정가 35,000원
WHERE TO BUY · 정가 35,000원