장바구니 담기 close

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

PySpark 배우기

PySpark 배우기

  • 토마스 드라바스
  • |
  • 에이콘출판
  • |
  • 2017-10-30 출간
  • |
  • 336페이지
  • |
  • 188 X 235 X 19 mm
  • |
  • ISBN 9791161750705
판매가

30,000원

즉시할인가

27,000

배송비

무료배송

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

수량
+ -
총주문금액
27,000

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

출판사서평

추천의 글

파이스파크(PySpark) 첫걸음을 위해 이 책을 선택한 것에 감사한다. 독자 여러분도 나처럼 많은 기대를 하고 있을 것이라 생각한다. 데니가 나에게 이 책에 대해 이야기했을 때 매우 기뻤다. 아파치 스파크(Apache Spark)를 멋진 플랫폼으로 만들기 위해 가장 중요한 것은 자바/스칼라(Scala)/JVM과 파이썬(또는 R)을 동시에 지원하도록 하는 것이다. 이전의 스파크 책들은 코어 언어에 집중했거나 JVM 언어만을 집중적으로 다뤘다. 이 책을 통해 숙련된 스파크 교육자로부터 파이스파크를 배울 수 있다. 두 언어를 모두 다룰 수 있게 되면, 데이터 과학자의 역할과 데이터 엔지니어의 역할을 모두 수행할 수 있게 된다. 동시에 양쪽의 커뮤니티로부터 좋은 아이디어를 얻을 수도 있다.
이 책의 첫 번째 버전을 감수할 기회를 갖게 된 것에 감사한다. 이로 인해 이 프로젝트에 대해 더 큰 관심을 가질 수 있게 됐다. 나는 지금까지 여러 비슷한 콘퍼런스와 밋업(meet-up)에 참여해왔고, 저자들이 스파크에 대한 새로운 개념을 여러 청중 앞에서 소개하는 것을 지켜봐왔다. 그들의 모든 경험은 이 책에 잘 소개돼 있다. 이 책은 단순히 파이스파크를 소 개하는 것을 넘어서 그래프프레임(GraphFrames)이나 텐서프레임(TensorFrames) 같은 커뮤니티에 서의 여러 패키지를 소개하기도 했다.
어떤 툴을 사용할지 정할 때 커뮤니티를 이용하면 좋다. 파이썬 커뮤니티는 매우 활성화돼 있으며 개인적으로 파이썬 스파크 커뮤니티에 가입해 활동할 것을 권한다. 이를 통해 데니 리나 토멕 드라바스(Tomek Drabas)와 같은 좋은 친구와 교류하며 정보를 얻을 수 있다.
또한 다양한 스파크 커뮤니티에서 활동함으로써 모두에게 유용한 더 좋은 툴을 만들 수도 있다고 생각한다. 따라서 독자들 역시 몇몇 콘퍼런스, 밋업 또는 메일링 리스트 등에 참여하길 희망한다. - 홀든 카로

★ 이 책에서 다루는 내용 ★

■ 아파치 스파크와 스파크 2.0의 구조
■ 스파크 데이터프레임을 빌드하고 스파크 SQL을 이용해 데이터프레임을 다루는 방법
■ 그래프프레임과 텐서프레임을 이용해 그래프 또는 딥러닝 관련 문제를 해결하는 방법
■ 데이터를 읽고 변형하고 이해하는 방법과 데이터를 이용해 머신 러닝 모델을 학습하는 방법
■ MLlib과 ML을 사용해 머신 러닝 모델을 빌드하는 방법
■ spark-submit 명령어를 이용해 애플리케이션을 서브밋하는 방법
■ 로컬에서 빌드된 애플리케이션을 클러스터에서 활용하는 방법

★ 이 책의 대상 독자 ★

이 책은 빠르게 발전하는 빅데이터 기술인 아파치 스파크를 익히고 싶은 모든 사람을 대상으로 한다. 또한 현업에서 실제 데이터 과학 업무를 맡고 있는 사람들에게도 흥미로운 내용이 될 수 있다.

★ 이 책의 구성 ★

1장. '스파크 이해하기'에서는 스파크를 전반적으로 소개하고 잡(job)을 다루는 개념을 설명한다.
2장. 'RDD'에서는 파이스파크에서 사용하는 스키마가 없는 데이터 구조인 RDD(Resilient Distributed Datasets)를 다룬다.
3장. '데이터프레임'에서는 효율 측면에서 스칼라와 파이썬의 격차를 줄이는 데이터 구조를 자세히 살펴본다.
4장. '데이터 모델링 준비하기'에서는 스파크 환경에서의 데이터 클리닝 혹은 전처리 방법을 제공한다.
5장. 'MLlib 소개하기'에서는 RDD로 작동하는 머신 러닝 라이브러리를 소개하고 가장 많이 사용되는 머신 러닝 라이브러리 사용법을 소개한다.
6장. 'ML 패키지 소개하기'에서는 주류 머신 러닝 라이브러리를 다루고 현재 사용 가능한 모델의 개요를 살펴본다.
7장. '그래프프레임'에서는 그래프를 이용해 쉽게 풀 수 있는 문제들에 대한 새로운 구조체를 다룬다.
8장. '텐서프레임'에서는 스파크와 딥러닝을 연결해주는 텐서프레임을 소개한다.
9장. '블레이즈를 이용한 다언어 코드 지속성'에서는 데이터 추상화를 더욱 간단히 하기 위해 스파크에서 블레이즈를 사용할 수 있는 방법을 소개한다.
10장. '구조적 스트리밍'에서는 파이스파크에서 사용 가능한 스트리밍 툴의 개요를 살펴본다.
11장. '스파크 애플리케이션 패키지화하기'에서는 작성한 코드를 모듈화하는 방법과 명령어를 통해 모듈을 스파크에서 실행시키는 방법을 다룬다.

목차

1장. 스파크 이해하기

__아파치 스파크는 무엇인가?
__스파크 잡과 API
____실행 프로세스
____RDD
____데이터프레임
____데이터셋
____카탈리스트 옵티마이저
____프로젝트 텅스텐
__스파크 2.0의 구조
____데이터셋과 데이터프레임 통합
____스파크세션에 대한 소개
____텅스텐 페이스 2
____구조적 스트리밍
____지속적 애플리케이션
__요약

2장. RDD

__RDD의 내부 작동 원리
__RDD 생성하기
____스키마
____파일로부터 데이터 읽기
____람다 표현
__전역 범위 vs. 지역 범위
__트랜스포메이션
____map() 트랜스포메이션
____.filter() 트랜스포메이션
____.flatMap(...) 트랜스포메이션
____.distinct() 트랜스포메이션
____.sample(...) 트랜스포메이션
____.leftOuterJoin(...) 트랜스포메이션
____.repartition(...) 트랜스포메이션
__액션
____.take(...) 함수
____.collect(...) 함수
____.reduce(...) 함수
____.count(...) 함수
____.saveAsTextFile(...) 함수
____.foreach(...) 함수
__요약

3장. 데이터프레임

__파이썬에서의 RDD 커뮤니케이션
__카탈리스트 옵티마이저 리뷰
__데이터프레임을 이용한 파이스파크 스피드업
__데이터프레임 생성하기
____JSON 데이터 생성하기
____데이터프레임 생성하기
____임시 테이블 생성하기
__간단한 데이터프레임 쿼리
____데이터프레임 API 쿼리
____SQL 쿼리
__RDD로 연동하기
____리플렉션을 이용한 스키마 추측하기
____프로그래밍하는 것처럼 스키마 명시하기
__데이터프레임 API로 쿼리하기
____행의 개수
____필터문 실행하기
__SQL로 쿼리하기
____행의 개수
____필터문을 where 절을 사용해 실행하기
__데이터프레임 시나리오: 비행 기록 성능
____출발지 데이터셋 준비하기
____비행 성능 데이터셋과 공항 데이터셋 조인하기
____비행 성능 데이터 시각화하기
__스파크 데이터셋 API
__요약

4장. 데이터 모델링 준비하기

__중복, 미관찰 값, 아웃라이어 확인하기
____중복 값
____관찰되지 않은 데이터
____아웃라이어
__데이터에 친숙해지기
____기술 통계
____상관 계수
__시각화
____히스토그램
____피처 사이의 상호작용
__요약

5장. MLlib 소개하기

__패키지에 대한 개요
__데이터 로딩하기와 변형하기
__데이터에 대해 알아보기
____기술 통계
____상관 계수
____통계 값 테스트하기
__최종 데이터셋 생성하기
____LabeledPoint의 RDD 생성하기
____학습 데이터셋과 테스트 데이터셋으로 나누기
__유아 생존율 예측하기
____MLlib의 로지스틱 회귀
____가장 유용한 피처 선택하기
____MLlib에서의 랜덤 포레스트
__요약

6장. ML 패키지 소개하기

__패키지의 개요
____트랜스포머
____에스티메이터
____분류 모델
____회귀 모델
____군집화 모델
____파이프라인
__ML로 유아 생존율 예측하기
____데이터 로드하기
____트랜스포머 생성하기
____에스티메이터 생성하기
____파이프라인 생성하기
____모델 학습하기
____모델의 성능 측정하기
____모델 저장하기
__파라미터 하이퍼튜닝
____그리드 탐색
____학습/검증 데이터셋 쪼개기
____파이스파크 ML의 다른 피처 실습
____피처 추출
__요약

7장. 그래프프레임

__그래프프레임 소개
__그래프프레임 설치하기
____라이브러리 생성
__비행 데이터셋 준비하기
__그래프 생성하기
__간단한 쿼리 수행하기
____공항과 여행의 개수 확인하기
____데이터셋 내에서 가장 긴 지연 확인하기
____지연 비행 vs. 정각/이른 비행 확인하기
____시애틀에서 출발하는 어떤 비행기에서 지연이 발생할 확률이 높은가?
____시애틀에서 출발해 어떤 주로 향할 때 비행기의 지연 가능성이 높을까?
__노드 degree 이해하기
__상위 환승 공항 알아내기
__모티브 이해하기
__페이지랭크를 이용해 공항 순위 알아보기
__가장 인기 있는 논스톱 비행편 확인하기
__너비 우선 탐색 사용하기
__D3를 이용한 비행편 시각화
__요약

8장. 텐서프레임

__딥러닝이란 무엇인가?
____인공신경망과 딥러닝의 필요성
____피처 엔지니어링이란?
____데이터와 알고리즘 연결하기
__텐서플로우는 무엇인가?
____pip 설치하기
____텐서플로우 설치하기
____상수를 이용한 행렬 곱
____placeholder를 이용한 행렬 곱
____논의
__텐서프레임 소개하기
__텐서프레임: 퀵 스타트
____설정과 셋업
____기존 칼럼에 상수를 더하기 위해 텐서플로우 사용하기
____블록 단위 reduce 연산자 예제
__요약

9장. 블레이즈를 이용한 다언어 코드 지속성

__블레이즈 설치하기
__다언어 코드 지속성
__데이터 추상화하기
____NumPy 배열로 작업하기
____pandas 데이터프레임 사용하기
____파일로 작업하기
____데이터베이스로 작업하기
__데이터 연산
____칼럼 접근하기
____심볼릭 트랜스포메이션
____칼럼 연산자
____데이터 축소
____조인
__요약

10장. 구조적 스트리밍

__스파크 스트리밍은 무엇인가?
__스파크 스트리밍이 왜 필요한가?
__스파크 스트리밍 애플리케이션의 데이터 흐름은 어떠한가?
__DStream을 이용한 간단한 스트리밍 애플리케이션
__스파크 스트리밍의 글로벌 집계에 대한 기본
__구조적 스트리밍 소개하기
__요약

11장. 스파크 애플리케이션 패키지화하기

__spark-submit 명령어
명령행 파라미터
__애플리케이션 실행시키기
____SparkSession 설정하기
____SparkSession 생성하기
____코드 모듈화하기
____잡 서브밋하기
____실행 상태 모니터링하기
__데이터브릭스 잡
__요약

저자소개

저자 토마스 드라바스는 마이크로소프트에 몸담고 있는 데이터 과학자며 현재 시애틀 근처에 거주하고 있다. 데이터 분석 또는 데이터 과학과 관련해 13년 정도의 경력을 보유했다. 고급 기술, 항공사, 통신사, 재무, 컨설팅 등 다양한 분야의 데이터를 유럽, 호주, 북미 등에서 다룬 경험이 있다. 호주에 거주하는 동안에는 항공 산업에서의 모델 선택과 수익 관리 적용에 대해 박사 논문을 준비했다.
마이크로소프트에서는 빅데이터 관련 업무를 주 업무로 하고 있으며, 스파크를 이용해 이상 행위 탐지, 고객 이탈 예측, 패턴 인식 등과 관련된 일도 하고 있다.
2016년에는 팩트출판사에서 발간한 『Practical Data Analysis Cookbook』을 저술했다.

도서소개

스파크의 동작 원리와 구성 요소 등을 설명하는 것으로 시작해, 스파크가 왜 고속 처리나 분산 처리에 유리한 구조를 하고 있는지, 속도 개선에 가장 큰 영향을 준 부분은 어떤 부분인지를 이해하기 쉽게 설명한다. 다음으로는 스파크 분석 라이브러리 사용법과 그 라이브러리를 이용한 실제 데이터 분석에 초점을 두고 있다. 마지막으로 실시간으로 들어오는 데이터에 대해서 어떻게 처리하고 테스트하는지와 최종적으로 만들어진 애플리케이션을 스파크 혹은 다른 방법을 통해서 패키지화하는 방법을 제공한다.

교환 및 환불안내

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