Top

스파크 2.0으로 하는 고속 스마트 빅데이터 분석과 처리 3/e [표준 SQL과 진화한 데이터 표현 지원]

  • 원서명Fast Data Processing with Spark 2 - Third Edition (ISBN 9781785889271)
  • 지은이크리슈나 산카르(Krishna SanKar)
  • 옮긴이조효성
  • ISBN : 9791161750569
  • 30,000원
  • 2017년 09월 22일 펴냄
  • 페이퍼백 | 356쪽 | 188*235mm
  • 시리즈 : acorn+PACKT

책 소개

소스 코드 파일은 여기에서 내려 받으실 수 있습니다.

요약

기존의 스파크 버전 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) 파이프라인 데이터 과학과 또 다르게 구분된다. 현재 스파크와 더불어 카프카와 같은 기술을 이용해서 데이터 관리와 데이터 과학 파이프라인을 끊김 없이 확장할 수 있다. 또한 대규모의 데이터셋에서 데이터 과학 모델을 모델링할 수 있으며, 이때 그저 샘플 데이터만 있어도 된다.
그리고 어떤 데이터 모델을 만들더라도 제품(물론 엔지니어링에 작업을 추가해서 새로운 ‘기능들’을 더하는 것을 포함한다)으로 배포할 수 있다. 이 책의 목적은 데이터 엔지니어가 스파크 플랫폼의 기초에 익숙할 수 있게 하는 것과 더불어 스파크를 다루는 좀 더 발전적인 역량을 제공하는 데 있다.

지은이 소개

크리슈나 산카르(Krishna SanKar)

자율 주행 자동차 분야에 주력하고 있는 볼보에서 인공지능 데이터 과학자로 근무하고 있는 선임 스페셜 리스트다. 일찍이 http://cadenttech.tv에서 데이터 과학자 팀 책임자, 다국적 기업인 타타의 미국 지사에서 소프트웨어 설계 팀장 겸 데이터 과학자, 생물 정보학 관련 스타트업 회사에서 데이터 과학의 수장 역할, 그리고 시스코에서 우수한 엔지니어라는 이력을 갖고 있다. 스트라타(Strata) SJC의 ML 튜토리얼, 런던 2016, 스파크 써밋, 스트라타-스파크 캠프, 오스콘(OSCON), 파이콘(PyCon), 파이데이타(PyData), 로봇 규칙의 질서에 관한 저서, 빅데이터-Best of the Worst, NFL 예측, 스파크, 데이터 과학, 머신 러닝, 소셜 미디어 분석을 포함한 다양한 컨퍼런스에서 연사 활동을 해 왔을 뿐 아니라, 미해군 대학원에서 강사로 활동했던 적도 있다. 가끔 https://doubleclix.wordpress.com/에 다양한 기술 내용을 작성한다. 취미 활동으로 드론을 날리거나 레고 로봇을 조립하므로 세인트루이스 FLL 세계 대회의 로봇 설계 심판으로 활동하고 있는 모습을 볼 수 있다.

옮긴이의 말

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

옮긴이 소개

조효성

광운대학교 전자공학과를 졸업하고 동대학원 임베디드 소프트웨어 공학과에서 안드로이드와 블루투스를 전공했다. 과거 오비고에서 웹 개발자로 활동하고 있는 노드에 관심이 많은 행복 개발자다. 행복한 HMI WebApp 개발 팀에서 차량용 플랫폼에 올라가는 웹 앱을 개발하면서 많은 경험과 실력을 쌓았다. 현재 브라이니클에 근무하면서 서버와 클라이언트를 개발하며, 빅데이터 분석에 관심이 많고, 실제 데이터 분석 사례를 만들고 있다. 번역 작업을 통해 책을 읽는 모든 사람에게 꼭 도움이 되기를 바라는 마음을 늘 품고 있다. 에이콘출판사에서 출간한 『노드로 하는 웹 앱 테스트 자동화』(2013), 『익스프레스 프레임워크로 하는 노드 웹 앱 프로그래밍』(2014), 『Storm 실시간 빅데이터 분석 플랫폼』(2014), 『안드로이드 음성 인식 애플리케이션 개발』(2014), 『Spark로 하는 고속 빅데이터 분석과 처리』(2014), 『AngularJS 반응형 웹앱 개발과 성능 최적화』(2015), 『리액트 정복하기』(2016)를 번역했다.

목차

목차
  • 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처리와 알고리즘
    • 참고 자료
    • 요약

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안