장바구니 담기 close

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

Spark로 하는 고속 빅데이터 분석과 처리

Spark로 하는 고속 빅데이터 분석과 처리

  • 홀든 카로
  • |
  • 에이콘출판
  • |
  • 2015-01-02 출간
  • |
  • 144페이지
  • |
  • 188 X 235 X 12 mm /240g
  • |
  • ISBN 9788960776524
★★★★★ 평점(10/10) | 리뷰(1)
판매가

15,000원

즉시할인가

13,500

배송비

2,300원

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

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

이 상품은 품절된 상품입니다

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

출판사서평

★ 요약 ★

이 책은 하둡의 처리속도보다 최대 100배 이상 빨라진 고속의 범용 클러스터 컴퓨팅 시스템을 제공하는 아파치 스파크(Spark)의 입문서이다. 스파크 시스템을 이용하면 SQL과 같은 데이터를 처리하는 툴 사용, 구조화된 데이터 처리, 머신 러닝, 그래프 데이터 프로세싱을 할 수 있다. 웹 개발자에게 익숙한 자바, 스칼라, 파이썬을 이용해서 로컬 환경뿐 아니라 클러스터 환경에서 고속의 데이터 분석을 할 수 있으므로 빅데이터를 학습하는 학생부터 현장에서 근무하는 엔지니어까지 좋은 지침서로 활용할 수 있다.

★ 이 책에서 다루는 내용 ★

■ 스파크의 인터랙티브 셸을 이용한 분산 애플리케이션의 프로토타이핑 방법
■ 스파크의 분산 대표 데이터(RDD)를 이용해서 통신할 수 있는 다양한 방법
■ 다양한 데이터 소스에서 데이터를 로드하는 방법
■ SQL과 같은 쿼리 문법을 이용해서 스파크에게 쿼리하는 방법
■ 분산 소프트웨어를 효과적으로 테스트하는 방법
■ 스파크 설치를 튜닝하는 방법
■ 클러스터에 스파크를 설치하고 환경 설정하는 방법
■ 대규모의 데이터를 효과적으로 처리하는 방법

★ 이 책의 대상 독자 ★

이 책은 스파크를 이용해서 분산 프로그램을 개발하는 방법을 배우고자 하는 소프트웨어 개발자를 위한 것이다. 과거에 분산 프로그래밍을 해본 경험이 꼭 필요한 것은 아니다. 단, 이 책은 개발자가 자바, 스칼라, 파이썬에 관한 배경지식이 있다고 가정한다.

★ 이 책의 구성 ★

1장, ‘스파크 설치와 클러스터 설정’ 다양한 머신에서 스파크를 설치하는 방법과 클러스터 설정 방법을 다룬다. 개발 환경에 적합한 로컬 단일 노드 배포부터 EC2 클러스터에 대한 셰프(Chef)가 관리하는 대규모 클러스터까지 모두 아울러 설명한다.

2장, ‘스파크 셸 사용’ 상호작용 모드에서 첫 번째로 스파크 잡을 동작시킨다. 스파크 셸은 빠르고 유용한 디버깅 도구로서, 특히 스파크를 처음 접할 때 상당히 편리하다.

3장, ‘스파크 앱 개발과 실행’ 스파크 클러스터 환경에서 프로덕션 목적에 적합한 독립적인 잡의 구성 방법을 설명한다. 스파크 셸이 빠른 프로토타입 구성에 적합한 도구일지라도 독립적인 잡의 구성이 스파크와 상호작용하는 방법의 대부분이 될 것이다.

4장, ‘스파크컨텍스트 생성’ 스파크 클러스터와 연결하는 방법을 설명한다. 스파크컨텍스트(SparkContext)는 프로그램을 위한 스파크 클러스터의 시작점이다.

5장, ‘스파크에 데이터 로딩과 저장’ RDD(Resilient Distributed DataSet)의 생성과 저장 방법을 설명한다. 스파크는 하둡 데이터 소스에서 RDD 로딩을 지원한다.

6장, ‘RDD 조작’ 스파크를 이용해 데이터를 분산환경에서 사용하는 방법을 설명한다. 흥미로운 내용이 가득한 단원이다.

7장, ‘샤크-하이브와 스파크의 연동’ 스파크가 설치된 HiveQL과 호환성이 있는 시스템인 샤크(Shark)의 설치방법과 스파크 잡을 하이브(Hive) 쿼리에 결합하는 방법을 설명한다.

8장, ‘테스팅’ 스파크 잡의 테스트 방법을 다룬다. 분산 태스크의 디버깅은 상당히 까다롭기 때문에 테스팅 과정은 매우 중요하다.

9장, ‘팁과 요령’ 스파크 태스크의 성능 향상 방법을 살펴본다.

★ 저자 서문 ★

이 책은 스파크를 이용해 분산 맵리듀스(MapReduce) 스타일의 프로그램을 작성하는 방법에 대해 설명한다. 이 책은 클러스터에 잡(job)을 할당하고, 용도에 맞게 튜닝하기 위해 분산 프로그램을 효과적으로 작성하는 방법과 스파크 API 내용을 설명한다.
이 책은 다양한 환경(독립적인 하나의 머신, EC2 등)에서 스파크 클러스터를 설정하는 방법과 통신 가능한 분산 코드를 작성하기 위해 인터랙티브 셸(interactive shell)의 사용 방법을 설명한다. 인터랙티브 셸을 사용할 수 있다면, 자바, 스칼라, 파이썬을 이용해서 분산 잡을 구현하고 할당할 수 있는 방법까지 학습할 수 있다.
다음으로 인터랙티브 셸을 사용해서 빠르게 분산 프로그램의 프로토타이핑하는 방법을 살펴보고, 스파크 API를 배운다. 샤크(Shark)를 이용한 SQL과 같은 쿼리 문법을 사용하기 위해 스파크를 하이브(Hive)와 함께 사용할 수 있는 방법도 살펴보면서 RDD(Resilient Distributed Dataset)를 수정해 본다.

★ 옮긴이의 말 ★

스파크는 대규모 데이터 처리에 효과적인 범용 고속 엔진이다. 스파크는 하둡(Hadoop), 메소스(Mesos)와 연동하거나 독립적으로 클라우드 환경에서 동작할 수 있으며 HDFS, 카산드라(Cassandra), HBase, S3를 포함한 다양한 데이터 소스에 접근할 수 있다. 스파크는 자바, 스칼라, 파이썬 API를 지원하며 개발자는 EC2 환경에서 제품용으로 1,000개 노드까지 확장할 수 있고, 연구 목적은 최대 2,000개의 노드까지 확장할 수 있다. 자세한 자료는 https://en.wikipedia.org/wiki/Apache_Spark를 참고하자.

스파크는 오픈 소스 형태로 누구나 다운로드할 수 있으며 아파치 라이선스 2.0으로 공개되어 있으므로 라이센스 규정을 준수해야 한다. GPL 3.0 버전과 호환성을 이루지만 GPL 1.0과 GPL 2.0과는 호환성을 제공하지 않는다. 아파치 인큐베이터에 통합되기 전 버전인 0.7 이전 버전은 BSD 라이센스로 배포되었다.

기존의 빅데이터 처리 엔진과는 달리 스파크는 두 단계로 구성된 맵리듀스 패러다임을 과감히 버렸으며, 일부 애플리케이션에게 하둡 맵리듀스의 데이터 처리 속도보다 100배까지 빠른 성능을 보장하고 있다. 또한 야후, 인텔 등을 포함해서 30여 곳이 넘는 기업들이 코드 공헌(code contribution)을 지속적으로 유지하고 있어 안정성도 가히 우수하다.

빅데이터를 이용해서 의미 있는 사업을 모색하는 기업이나 개인에게 스파크는 분명 좋은 기회를 제공할 것이다.

목차

1장 스파크 설치와 클러스터 설정
__싱글 머신에서 스파크 구동
__EC2 환경에서 스파크 구동
____EC2 환경에서 스크립트를 이용한 스파크 구동
__탄력적 맵리듀스에서 스파크 사용
__Chef를 연동한 스파크 배치(opscode)
__Mesos에서 스파크 사용
__YARN에서 구동하는 스파크 사용
__SSH를 통한 머신 집합 사용
__링크와 레퍼런스
__요약

2장 스파크 셸 사용
__텍스트 파일 로딩
__로지스틱 회귀 분석을 위한 스파크 셸 사용
__S3 데이터의 양단간 로딩
__요약

3장 스파크 앱 개발과 실행
__sbt를 이용한 스파크 프로젝트 생성
__메이븐을 이용한 스파크 잡 빌드
__기타 다른 빌드 시스템을 이용한 스파크 잡 빌드
__요약

4장 스파크컨텍스트 생성
__스칼라
__자바
__공유 자바와 스칼라 API
__파이썬
__링크와 참조
__요약

5장 스파크에 데이터 로딩과 저장
__RDDs
__RDD에 데이터를 로딩
__데이터 저장
__링크와 참조
__요약

6장 RDD 조작
__스칼라와 자바를 이용한 RDD 조작
____스칼라 RDD 메소드
____PairRDD 메소드를 결합하는 메소드
____그밖의 PairRDD 메소드
____DoubleRDD 메소드
____일반 RDD 메소드
____자바 RDD 메소드
____스파크 자바 메소드 클래스
______공통 자바 RDD 메소드
____JavaPairRDD 메소드를 조합하는 메소드
______JavaPairRDD 메소드
__파이썬을 이용한 RDD 수정
____표준 RDD 함수
____PairRDD 메소드
__링크와 참조
__요약

7장 샤크-하이브와 스파크의 연동
__하이브/샤크 사용 이유
__샤크 설치
__샤크 구동
__데이터 로딩
__스파크 프로그램에서 하이브 쿼리 사용
__링크와 참조
__요약

8장 테스팅
__자바와 스칼라로 테스트하기
____테스트 가능성을 위한 코드 리팩토링
____스파크컨텍스트의 인터렉션 테스팅
__파이썬을 이용한 테스팅
__링크와 참조
__요약

9장 팁과 요령
__로그 저장 위치
__동시 실행 제약사항
__메모리 사용과 가비지 콜렉션
__직렬화
__IDE 통합
__다른 언어로 스파크 사용
__보안에 대한 간단한 노트
__메일링 리스트
__링크와 참조
__요약

저자소개

저자 홀든 카로 (Holden Karau)은 캐나다 출신의 성전환자 소프트웨어 개발자이며 현재는 샌프란시스코에 거주한다. 2009년 캐나다 워터루 대학에서 컴퓨터 과학 분야에서 수학을 전공했다. 현재 구글에서 소프트웨어 개발 엔지니어로 일하고 있다. 스칼라(Scala)를 초창기에 사용했던 포스퀘어(Foursquare)에서 근무했으며, 아마존(Amazon)에서는 검색과 분류 문제 해결 분야에서 일했다. 어릴 적에는 오픈 소스 개발에 많은 열정을 바쳤고, 그 당시의 많은 프로젝트가 슬래시닷(Slashdot) 사이트를 통해 공개되었다. 프로그래밍 외에도 불, 용접, 춤을 즐긴다. 홀든의 웹사이트(http://www.holdenkarau.com), 블로그(http://blog.holdenkarau.com)와 깃허브(https://github.com/holdenk)에 가면 그녀에 대해 좀 더 많은 것을 알 수 있다.

도서소개

『Spark로 하는 고속 빅데이터 분석과 처리』는 하둡의 처리속도보다 최대 100배 이상 빨라진 고속의 범용 클러스터 컴퓨팅 시스템을 제공하는 아파치 스파크(Spark)의 입문서이다. 책에는 스파크의 인터랙티브 셸을 이용한 분산 애플리케이션의 프로토타이핑 방법, 스파크의 분산 대표 데이터(RDD)를 이용해서 통신할 수 있는 다양한 방법, SQL과 같은 쿼리 문법을 이용해서 스파크에게 쿼리하는 방법, 분산 소프트웨어를 효과적으로 테스트하는 방법, 대규모의 데이터를 효과적으로 처리하는 방법 등을 다루고 있다.

교환 및 환불안내

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