초보자를 위한 아파치 스파크 2
도서+사은품 또는 도서+사은품+교보Only(교보굿즈)
15,000원 미만 시 2,500원 배송비 부과
20,000원 미만 시 2,500원 배송비 부과
15,000원 미만 시 2,500원 배송비 부과
1Box 기준 : 도서 10권
로그아웃 : '서울시 종로구 종로1' 주소 기준
이달의 꽃과 함께 책을 받아보세요!
1권 구매 시 결제 단계에서 적용 가능합니다.
알림 신청하시면 원하시는 정보를
받아 보실 수 있습니다.
이 책의 이벤트
해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
키워드 Pick
키워드 Pick 안내
관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.
이 책의 총서 (299)
작가정보
저자(글) 라자나라야난 토투바이카투마나
라자나라야난 토투바이카투마나(Rajanarayanan Thottuvaikkatumana)
줄여서 Raj는 다양한 나라의 회사에서 약 23년간 소프트웨어 개발 기술자로 일했다. 인도 및 싱가포르, 미국 등에서 일을 해왔고 현재는 영국에서 지내고 있다. 아키텍처 및 디자인, 소프트웨어 애플리케이션 개발 경력이 있으며, 유명한 데이터베이스 및 애플리케이션 개발 플랫폼, 웹 기술, 빅데이터 기술을 이용하는 일을 해왔다. 2000년 이후로는 주로 자바 관련기술을 써왔고 자바와 스칼라를 이용한 서버 프로그래밍을 해왔다. 많은 양의 트랜잭션 처리 및 분산, 동시성 처리 문제를 다뤄왔으며, 현재는 차세대 하둡 YARN을 기반으로 한 데이터 처리 플랫폼과 스칼라 기반의 아파치 스파크를 이용한 애플리케이션 스위트(suite)를 개발하고 있다. 그는 수학과 컴퓨터 정보 처리 시스템 분야에서 모두 석사 학위를 보유하고 있고 수많은 ITIL 수료증을 받았다. 클라우드 컴퓨터 관련 수업도 이수했다. 『Cassandra Design Patterns - Second Edition』(Packt, 2015)의 저자이기도 하다. 한가할 때는 클래식 음악을 듣고 테니스를 즐긴다.
번역 방호남
공대 남자 엔지니어 5명이서 함께한 결혼 관련 스타트업 창업을 시작으로, 한국 과학 기술 연구원, 실리콘밸리 스타트업을 거쳐 현재 시애틀에 있는 아마존 웹 서비스(AWS) 본사 EC2 서버 엔지니어로 일하고 있다.
서버부터 웹 프론트엔드, 안드로이드, 웹앱 등 다양한 분야에서 경력을 쌓아 왔고 요즘은 대규모 분산 처리 시스템 디자인과 운용을 주로 한다. 컴퓨터 한 대로 세상을 바꾸는 일이 가능한 시대에 개발자로 일할 수 있음에 늘 감사한다. 소프트웨어 자체보다 소프트웨어가 세상에 제공할 수 있는 가치를 탐구하는 것에 더 흥미를 느끼고 있다.
작가의 말
스파크라 불리는 데이터 처리 프레임워크는, 하둡 맵리듀스 작업 성능이 낮은 부분에서도 반복적으로 데이터셋을 재사용함으로써 주목할만한 가치를 제공할 수 있음을 증명하기 위해 처음 개발됐다. 연구 논문 《Mesos: A Platform for Fine-Grained Resource Sharing in the Data Center》는 스파크의 디자인 철학에 관해 이야기한다. 캘리포니아에 있는 버클리 대학 (University of California Berkeley) 연구진이 메소스를 테스트하기 위해 만든 매우 단순한 구현체는 후에 가장 활발한 아파치 프로젝트 중 하나가 됐다. 스파크는 처음부터 하둡 및 메소스, 독립형 모드와 같은 클러스터로 분산 데이터 처리를 수행하도록 디자인됐다. 스파크는 JVM 기반 데이터 처리 프레임워크이므로 JVM 기반 애플리케이션을 지원하는 대부분의 운영 체제에서 작동한다. 스파크는 UNIX 및 Mac OS X에 설치 가능하며 윈도우즈 환경에서도 사용률이 증가하고 있다.
스파크는 프로그래밍 언어 스칼라 및 자바, 파이썬, R을 포함하는 통일된 유니폼(uniform) 프로그래밍 모델을 제공한다. 즉, 스파크 애플리케이션을 개발할 때 거의 모든 언어에서 같은 스파크 API를 제공하므로 언어 선택을 손쉽게 할 수 있다. 이러한 방식으로 조직은 스파크를 새로 사용하더라도 이미 사용하고 있는 프로그래밍 언어로 스파크 프로그램을 개발할 수 있고, 필요에 따라 스파크 애플리케이션을 한 언어에서 다른 언어로 신속하게 포팅 (porting)할 수도 있다. 스파크의 대부분은 스칼라로 개발됐다. 스파크 프로그래밍 모델은 본질적으로 함수 프로그래밍을 지원한다. 가장 기본적인 스파크 데이터 추상화는 다른 모든 라이브러리가 기반으로 만들어진 탄력 분산 데이터 세트 RDD다. RDD 기반 스파크 프로그래밍 모델은 개발자가 데이터 처리 애플리케이션을 개발할 수 있는 가장 낮은 레벨 단계다.
스파크는 더 많은 데이터 처리 유스 케이스(use case)를 처리하기 위해 빠르게 성장했다. 제품 로드맵과 관련해서 앞을 내다보는 변화가 많아지면 비즈니스 사용자를 위해 더 높은 수준의 프로그래밍을 제공해야 하므로 요구 수준이 높아진다. 데이터프레임 추상화 기능을 갖춘 스파크 SQL 라이브러리는 스파크 코어에서 동작하고 널리 사용되는 SQL에 익숙한 대부분 개발자의 요구를 만족시킬 수 있도록 개발됐다.
데이터 과학자들은 계산 작업에 R을 사용한다. R의 가장 큰 한계는 처리해야 할 데이터의 크기가 R 프로그램을 실행 중인 컴퓨터의 메인 메모리 크기보다 작아야 한다는 것이다. 스파크 R API는 데이터프레임 추상화를 바탕으로 데이터 과학자에게 분산 데이터 처리의 신세계를 소개했다. 즉, 스파크 R API를 사용하면 하둡 또는 메소스에서 데이터를 병렬로 처리할 수 있으며 호스트 컴퓨터의 메모리 한계를 훨씬 뛰어 넘어서 데이터 처리 범위를 확장할 수 있다.
데이터를 수집하는 대규모 애플리케이션이 넘쳐나는 시대에서 데이터 소화 속도는 이전과 달리 매우 빨라졌다. 많은 애플리케이션 유스 케이스는 실시간 스트리밍 데이터 처리를 요구한다. 스파크 코어로 구축한 스파크 스트리밍 라이브러리는 이러한 유스 케이스 요구에 따라 실시간으로 스트리밍 데이터를 처리한다.
사용하지 않는 데이터 또는 스트리밍 중인 데이터는 머신 러닝 알고리즘에 입력해 데이터 모델을 학습시키고 이를 활용해 비즈니스 질문에 대한 대답을 제공한다. 스파크 이전에 개발한 모든 머신 러닝 프레임워크는 데이터를 처리하는 컴퓨터의 메모리 부족 및 병렬 처리 수행 불가, 읽기-쓰기의 불필요한 반복 등 많은 한계가 있었다. 스파크는 이러한 한계가 없기 때문에 스파크 코어와 데이터프레임을 바탕으로 구축된 스파크 MLlib 머신 러닝 라이브러리는 머신 러닝 액티비티와 데이터 처리 파이프라인을 함께 처리하는 최고의 머신 러닝 라이브러리로 널리 알려지게 되었다.
그래프는 특별한 유스 케이스에서 많이 사용하는 매우 유용한 데이터 구조다. 그래프 데이터 구조에서 데이터를 처리하는 데 사용하는 알고리즘은 계산 집약적이다. 스파크 이전에도 많은 그래프 처리 프레임워크가 존재했다. 대부분 처리 속도는 빠르지만 그래프 데이터 구조를 생성하기 위한 데이터를 사전 처리하는 것이 큰 병목 현상임이 드러났다. 스파크로 구축한 스파크 GraphX 라이브러리는 데이터 처리 및 그래프 처리를 하나의 연결된 액티비티로 묶어 처리하기 위해 그 격차를 크게 줄였다.
과거에 많은 데이터 처리 프레임워크가 존재했으며 그 중 대다수가 제품을 사용하는 고객들을 벤더 종속(lock-in) 의 함정에 빠뜨리려고 했다. 이에 반해 스파크는 라이센스 비용 없이 다양한 데이터 처리 요구를 해결하기 위한 매우 실용적인 대안을 제공하는 동시에 앞서가는 기업 다수의 지원을 받아 전문적인 제품 지원을 제공한다.
목차
- 1장. 스파크 기초
__아파치 하둡 소개
__스파크 분석
__스파크 설치
____파이선 설치
____R 설치
____스파크 설치
____개발 도구 설치
____추가 소프트웨어 설치
________IPython
________RStudio
________아파치 제플린
__참고문헌
__요약
2장. 스파크 프로그래밍 모델
__스파크 함수 프로그래밍
__스파크 함수 프로그래밍
____스파크 RDD 불변성
____스파크 RDD 분산 용이성
____스파크 RDD 메모리 상주
____스파크 RDD의 강력한 데이터 타입 지원
__스파크 RDD를 이용한 데이터 변환과 액션
__스파크 모니터링
__스파크 프로그래밍 기초
____맵리듀스
____조인
____추가 액션
__파일에서 RDD 생성
____스파크 라이브러리 스택
__참고문헌
__요약
3장. 스파크 SQL
__데이터 구조
__왜 스파크 SQL인가?
__스파크 SQL 해부
__데이터프레임 프로그래밍
____SQL 프로그래밍
____데이터프레임 API 프로그래밍
__스파크 SQL 집계
__스파크 SQL을 사용한 다중 데이터 소스 연결
__데이터셋
__데이터 카탈로그
__참고문헌
__요약
4장. 스파크 R 프로그래밍
__SparkR의 필요성
__R 언어의 기초
__R 데이터프레임과 스파크
__R을 이용한 스파크 데이터프레임 프로그래밍
____SQL 프로그래밍
____R 데이터프레임 API를 이용한 프로그래밍
__스파크 R을 이용한 집계
__SparkR을 이용한 다중 데이터 소스 조인
__참고문헌
__요약
5장. 파이선과 함께하는 스파크 데이터 분석
__차트 및 그래프 작성 라이브러리
__데이터셋 설정
__데이터 분석 유스 케이스
__차트와 그래프
____히스토그램
____밀도 그래프
____막대 차트
________누적 막대형 차트
____파이 차트
________도넛 차트
____상자 그래프
____수직 막대 그래프
____산점도
________강화된 산점도
____라인 그래프
__참고문헌
__요약
6장. 스파크 스트림 처리
__데이터 스트림 처리
__마이크로 배치 데이터 처리
____DStream 프로그래밍
__로그 이벤트 처리기
____넷캣 서버 시작
____파일 정리
____스파크 클러스터 작업 제출
____애플리케이션 모니터링
____스칼라 애플리케이션 구현
____애플리케이션 컴파일 및 실행
____출력 결과물 처리
____파이선 애플리케이션 실행
__구간 데이터 처리
____스칼라 애플리케이션 로그 이벤트 메시지 빈도수 세기
____파이선 애플리케이션 로그이벤트 메시지 빈도수 세기
__추가 처리 옵션
__카프카 스트림 처리
____주키퍼와 카프카 시작하기
____스칼라 애플리케이션 구현
____파이선 애플리케이션 구현
__실제 스파크 스트리밍 작업
____스파크 데이터 처리 애플리케이션 실패-내구성 구현
____구조 데이터 스트리밍
__참고문헌
__요약
7장. 스파크 머신 러닝
__머신 러닝
__스파크가 머신 러닝에 적합한 이유
__와인 품질 예측
__모델 저장
__와인 분류
__스팸 필터링
__특징 알고리즘
__동의어 찾기
__참고문헌
__요약
8장. 스파크 그래프 처리
__그래프와 사용 사례 이해
__스파크 GraphX 라이브러리
____GraphX overview
____그래프 분할
____그래프 처리
____그래프 구조 처리
__테니스 토너먼트 분석
__페이지랭크 알고리즘 적용
__연결된 구성 요소 알고리즘
__그래프프레임
__그래프프레임 쿼리
__참고문헌
__요약
9장. 스파크 애플리케이션 디자인
__람다 아키텍처
__람다 아키텍처 마이크로블로깅
____SfbMicroBlog 오버뷰
____데이터 이해
____데이터 사전 설정
__람다 아키텍처 구현
____배치 레이어
____서빙 레이어
____스피드 레이어
________쿼리
__스파크 애플리케이션 작업
__코딩 스타일
__소스 코드 셋업
__데이터 소화
__뷰와 쿼리 생성
__커스텀 데이터 처리 이해
__참고문헌
__요약
출판사 서평
★ 이 책에서 다루는 내용 ★
■ 스칼라와 파이썬을 이용한 스파크 프로그래밍 모델과 스파크 2의 기초
■ 스파크 SQL 사용법과 스칼라와 파이썬을 이용한 데이터프레임 활용
■ R을 이용한 스파크 프로그래밍 기초
■ 파이썬을 활용한 그래프 및 차트 그리기, 스파크 데이터 처리
■ 스칼라와 파이썬을 이용한 스파크 스트림 처리
■ 스파크 MLib을 활용한 머신 러닝
■ 스파크 GraphX를 이용한 그래프 처리 기초
■ 배운 것들을 종합해 하나의 완벽한 스파크 애플리케이션 실전 예제 개발
★ 이 책의 대상 독자 ★
스파크의 데이터 처리 능력과 R 또는 데이터 및 스트림 처리, 머신 러닝, 그래프 처리를 결합해 상호 운용 가능한 하나의 프레임워크에서 스칼라나 파이썬을 지원하는 통합 API를 활용하는 데 관심이 있는 애플리케이션 개발자 및 데이터 과학자, 대규모 데이터 솔루션 아키텍처라면 이 책이 큰 도움이 될 것이다.
★ 이 책의 구성 ★
1장, ‘스파크 기초’에서는 스파크 프레임워크 기초와 API 그리고 함께 제공되는 라이브러리를 논의하고 스파크를 사용하는 데이터 처리 생태계 전체를 살펴본다.
2장, ‘스파크 프로그래밍 모델’에서는 스파크에서 사용되는 함수 프로그래밍 방법론을 기초로 스파크의 유니폼 프로그래밍 모델에 대해 설명하고 RDD(Resilient Distributed Data Sets) 및 스파크 변환, 스파크 액션의 기본 사항을 다룬다.
3장, ‘스파크 SQL’에서는 가장 강력한 스파크 라이브러리 중 하나인 스파크 SQL에 관해 논의하고 스파크 프로그램과 함께 어떠한 방식으로 동작하는지 살펴본다. 또한 데이터 처리를 위해 스파크 SQL을 사용해 다양한 데이터 소스에 액세스하는 방법과 여러 종류의 데이터 소스 통합에 관해 설명한다.
4장, ‘스파크 R 프로그래밍’에서는 스파크 R API인 SparkR과 R에 관해 설명한다. 이를 통해 R 사용자는 익숙한 데이터 프레임 추상화를 사용해 스파크의 데이터 처리 기능을 사용할 수 있다. 더불어 R 사용자가 스파크 데이터 처리 생태계에 익숙해질 수 있는 기초 지식도 제공한다.
5장, ‘파이썬을 활용한 스파크 데이터 분석’에서는 스파크를 이용한 데이터 처리 방법과 파이썬에서 스파크와 함께 활용할 수 있는 다양한 차트 및 그래프 라이브러리에 대해 설명한다. 또한 프로그래밍 언어로서 파이썬을 선택하고 스파크 애플리케이션을 파이썬과 결합해서 활용하는 방법에 대해 논의한다.
6장, ‘스파크 스트림 처리’에서는 스트림(stream) 형태로 수집한 데이터를 캡처하고 처리하는 가장 강력한 스파크 라이브러리 중 하나인 스파크 스트리밍에 대해 설명한다. 분산 메시지 브로커인 카프카(Kafka)와 카프카의 소비자로 작동하는 스파크 스트리밍 애플리케이션에 대해서도 논의한다.
7장, ‘스파크 머신 러닝’에서는 입문 수준에서 머신 러닝 애플리케이션 개발에 사용하는 가장 강력한 스파크 라이브러리 중 하나인 스파크 MLlib에 대해 설명한다.
8장, ‘스파크 그래프 처리’에서는 그래프 데이터 구조를 처리하는 가장 강력한 스파크 라이브러리 중 하나인 스파크 GraphX에 대해 설명하고 그래프로 데이터를 처리하는 수많은 알고리즘을 살펴본다. GraphX 기초와 GraphX에서 제공하는 알고리즘을 사용해 구현한 몇 가지 유스 케이스도 설명한다.
9장, ‘스파크 애플리케이션 설계’에서는 스파크의 다양한 기능을 다루는 스파크 데이터 처리 애플리케이션 설계 및 개발에 대해 설명한다. 9장에서 다루는 대부분의 내용은 이미 앞에서 다룬 내용이다.
★ 옮긴이의 말 ★
요즘 컴퓨터 세계는 빅데이터와 머신 러닝의 시대라고 해도 과언이 아니다. 이 두 가지 기술이 맞물려 창출해 내는 부가가치와 잠재력은 분야를 막론하고 상상을 초월한다. 이러한 흐름에 발맞춰 머신 러닝이나 빅데이터 처리 프레임워크에 관심을 가지는 개발자가 점점 많아지고 있다. 한국에서도 이러한 스킬을 가지고 있는 고급 개발자들이 미국의 글로벌 IT회사로 이직하는 경우를 많이 봐왔다.
이러한 큰 흐름에 따라 무언가 시도해 보고는 싶은데 어디서부터 시작할지 모르는 입문자나, 머신 러닝 자체보다는 데이터 전처리나 파이프 라인 구축에 드는 많은 시간과 노력에 지친 데이터 과학자들에게 스파크는 매우 환영 받는 프레임워크다. 맵리듀스 같은 복잡한 프로그래밍 모델을 모르더라도 간단한 스크립팅과 파이썬, 스칼라 등의 프로그래밍 언어만 알면 누구나 손쉽게 머신 러닝과 빅데이터 공부를 시작할 수 있다.
스파크가 데이터 처리 프레임워크 세계에서 차지하는 비중은 매우 크다. 스파크는 미국 버클리 대학의 리서치 프로젝트로 시작해서 지금은 전 세계에서 가장 활발한 오픈 소스 기반 데이터 처리 프로젝트가 됐다. 처음부터 대규모 데이터 처리를 염두에 두고 디자인됐기 때문에 빅데이터 처리에 매우 최적화됐고 이름처럼 속도가 빠르다. 2.0부터는 다양한 머신 러닝 라이브러리 지원을 통해 머신 러닝 데이터 처리 프레임워크로도 각광받고 있다. 이뿐만 아니라 스칼라, 자바, 파이썬, R 등 다양한 프로그래밍 언어 지원을 통해 개발자가 언어의 제약 없이 손쉽게 접근할 수 있고 포팅이 쉽다는 장점이 있다.
이 책은 단순한 데이터 처리, 스트리밍 데이터, 그래프 모델 구성, 스파크를 이용한 데이터 차트 그리기를 넘어 MLlib를 활용한 머신 러닝 예제까지, 입문자와 고급 개발자 모두가 활용 할 수 있는 다양한 예제를 제공한다. 이렇게 누구나 쉽게 스파크를 배울 수 있도록 했다. 대부분의 예제는 스칼라뿐 아니라 파이썬, R 버전으로도 제공되기 때문에 독자에게 편한 언어로 학습할 수 있다.
번역 기간 내내 여러가지 일과 병행하느라 우여곡절이 많았지만, 바람이 있다면 이 책이 한국의 개발자들이 머신 러닝과 빅데이터 세계에 뛰어드는 데 조금이나마 밑거름이 됐으면 한다. 나아가 독자들이 전세계 글로벌 IT 기업에서 나와 직접 마주치는 재미있는 순간이 오길 기대한다.
기본정보
ISBN | 9791161751054 | ||
---|---|---|---|
발행(출시)일자 | 2018년 01월 31일 | ||
쪽수 | 384쪽 | ||
크기 |
189 * 236
* 21
mm
/ 715 g
|
||
총권수 | 1권 | ||
시리즈명 |
acorn+PACKT 시리즈
|
||
원서(번역서)명/저자명 | Apache Spark 2 for Beginners: Develop large-scale distributed data processing applications using Spark 2 in Scala and Python/Rajanarayanan Thottuvaikkatumana |
Klover 리뷰 (1)
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집 (0)
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
판매가 5,000원 미만 상품의 경우 리워드 지급 대상에서 제외됩니다. (2024년 9월 30일부터 적용)
구매 후 리뷰 작성 시, e교환권 100원 적립
-
반품/교환방법
* 오픈마켓, 해외배송 주문, 기프트 주문시 [1:1 상담>반품/교환/환불] 또는 고객센터 (1544-1900) -
반품/교환가능 기간
상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내 -
반품/교환비용
-
반품/교환 불가 사유
(단지 확인을 위한 포장 훼손은 제외)
2) 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
예) 화장품, 식품, 가전제품(악세서리 포함) 등
3) 복제가 가능한 상품 등의 포장을 훼손한 경우
예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
4) 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
5) 디지털 컨텐츠인 ebook, 오디오북 등을 1회이상 ‘다운로드’를 받았거나 '바로보기'로 열람한 경우
6) 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
7) 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
8) 세트상품 일부만 반품 불가 (필요시 세트상품 반품 후 낱권 재구매)
9) 기타 반품 불가 품목 - 잡지, 테이프, 대학입시자료, 사진집, 방통대 교재, 교과서, 만화, 미디어전품목, 악보집, 정부간행물, 지도, 각종 수험서, 적성검사자료, 성경, 사전, 법령집, 지류, 필기구류, 시즌상품, 개봉한 상품 등 -
상품 품절
-
소비자 피해보상 환불 지연에 따른 배상
2) 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함
상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)