메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

스파크를 활용한 실시간 처리

실시간 데이터 처리를 위한 고수준 스트리밍 API 마스터하기

한빛미디어

번역서

판매중

  • 저자 : 제러드 마스 , 프랑수아 가릴로
  • 번역 : 김인범
  • 출간 : 2021-04-02
  • 페이지 : 472 쪽
  • ISBN : 9791162243961
  • 물류코드 :10396
  • 초급 초중급 중급 중고급 고급
3.9점 (16명)
좋아요 : 10

한 권으로 정리하는 스파크 스트리밍

 

데이터를 실시간으로 처리하는 방법을 안다면, 분석 도구로 빠르게 인사이트를 얻을 수 있다. 이 책은 아파치 스파크를 기반으로 인메모리 프레임워크를 사용해 스트리밍 데이터를 처리하는 방법을 학습한다. 또한, 스파크로 어떻게 배치 작업하듯이 스트리밍 작업을 수행할 수 있는지를 다룬다.

 

이 책은 아파치 스파크의 이론과 예제를 학습하는 데 중점을 두었으며, 스파크가 현재 지원하는 스파크 스트리밍 라이브러리와 최신 구조적 스트리밍 API를 배울 수 있다. 스트리밍 애플리케이션에 아파치 스파크를 적용하려는 독자라면 스트림 처리의 기본 개념부터 머신러닝을 포함한 고급 기술까지 다양한 인사이트를 얻을 수 있을 것이다.

 

  • 스트림 처리의 기본 개념과 다양한 스트리밍 아키텍처
  • 구조적 스트리밍과 스트림 처리의 이해
  • 스파크 API를 이용한 스파크 스트리밍
  • 스파크 API를 이용한 애플리케이션 생성 및 운영
  • 근사 알고리즘과 머신러닝 알고리즘으로 고급 스파크 스트리밍 구현하기
  • 아파치 스톰, 아파치 플링크, 카프카 스트림 등 다른 스트림 프로젝트와 아파치 스파크 비교하기

 

제러드 마스 저자

제러드 마스

라이트벤드Lightbend의 수석 엔지니어로서 구조적 스트리밍과 기타 확장 가능한 스트림 처리 기술을 라이트 밴드 플랫폼에 원활하게 통합하는 작업을 하고 있다. 이전에 클라우드 네이티브 IoT 스타트업에서 일하면서 데이터 처리 팀을 이끌고 스파크 스트리밍을 처리량의 한계까지 밀어붙인 스트리밍 파이프라인을 구축했다. 당시 그는 스파크 스트리밍 성능을 튜닝하기 위한 첫 번째 포괄적인 가이드를 제시했다. 데이터 과학 거버넌스, 클라우드 네이티브 IoT 플랫폼, 통신 플랫폼 및 확장 가능한 API를 구축하는 여러 스타트업 및 대기업에서 주도적인 역할을 수행했으며, 기술 컨퍼런스의 정기 연사이고, 크고 작은 오픈 소스 프로젝트에 컨트리뷰터로 활동하고 있다. 베네수엘라의 시몬 볼리바르 대학교에서 컴퓨터 공학 학위를 취득했다. 트위터에서는 @maasg로 찾을 수 있다.

프랑수아 가릴로 저자

프랑수아 가릴로

시애틀에 거주하며 페이스북에서 분산 컴퓨팅을 담당하고 있다. 2011년에 에콜 폴리테크니크에서 박사 학위를 받았으며 2015년에 라이트 밴드에서 근무하면서 스파크 스트리밍의 백프레셔에 대해 연구했다. 타입 시스템, 프로그래밍 언어를 활용하여 분석을 보다 쉽게 표현할 수 있도록 하기, 스칼라, 스파크 그리고 로스팅된 아라비카에 매우 관심이 많다. 일하지 않을 때는 태평양 북서부의 산을 즐기는 모습을 볼 수 있다.

김인범 역자

김인범

알스퀘어(RSQUARE) 데이터 엔지니어. 이전에는 SK 주식회사 C&C의 클라우드 컴퓨팅 기술 팀, 클라우드 아키텍트 유닛을 거쳐 CNCITY에너지 AI 설루션 팀에서 데이터 엔지니어로 근무했다. 몽고DB 사용자 그룹MongoDB Korea(https://web.facebook.com/groups/krmug)에서 운영진으로 활동하고 있다. 다양한 분야의 데이터에 관심이 많으며 글쓰기를 좋아한다.

[Part 1 아파치 스파크를 사용한 스트림 처리의 기본]


CHAPTER 1 스트림 처리 소개

1.1 스트림 처리란

1.2 스트림 처리 예제

1.3 데이터 처리의 확장

1.4 분산 스트림 처리

1.5 아파치 스파크 소개

1.6 다음엔 무엇을 배울까

 

CHAPTER 2 스트림 처리 모델

2.1 소스와 싱크

2.2 서로 정의된 불변의 스트림

2.3 변환과 집계

2.4 윈도우 집계

2.5 비상태 및 상태 기반 처리

2.6 상태 기반 스트림

2.7 예제: 스칼라에서 로컬 상태 기반 연산

2.8 비상태 또는 상태 기반 스트리밍

2.9 시간의 영향

2.10 요약

 

CHAPTER 3 스트리밍 아키텍처

3.1 데이터 플랫폼의 구성 요소

3.2 아키텍처

3.3 스트리밍 애플리케이션에서 배치 처리 구성 요소의 사용

3.4 참조 스트리밍 아키텍처

3.5 스트리밍과 배치 알고리즘

3.6 요약

 

CHAPTER 4 스트림 처리 엔진으로서의 아파치 스파크

4.1 두 API 이야기

4.2 스파크의 메모리 사용

4.3 지연 시간에 대한 이해

4.4 처리량 지향 처리

4.5 스파크의 폴리글랏 API

4.6 데이터 분석의 빠른 구현

4.7 스파크에 대해 더 알아보기

4.8 요약

 

CHAPTER 5 스파크의 분산 처리 모델

5.1 클러스터 매니저를 활용한 아파치 스파크 실행

5.2 스파크 자체 클러스터 매니저

5.3 분산 시스템에서의 복원력과 내결함성 이해

5.4 데이터 전송 의미론

5.5 마이크로배칭과 한 번에 한 요소

5.6 마이크로배치와 한 번에 한 레코드 처리 방식을 더욱 가깝게 만들기

5.7 동적 배치 간격

5.8 구조적 스트리밍 처리 모델

 

CHAPTER 6 스파크의 복원력 모델

6.1 스파크의 탄력적인 분산 데이터셋

6.2 스파크 컴포넌트

6.3 스파크의 내결함성 보장

6.4 요약

 

[Part 2 구조적 스트리밍]


CHAPTER 7 구조적 스트리밍 소개

7.1 구조적 스트리밍의 첫걸음

7.2 배치 분석

7.3 스트리밍 분석

7.4 요약

 

CHAPTER 8 구조적 스트리밍 프로그래밍 모델

8.1 스파크 초기화

8.2 소스: 스트리밍 데이터 수집

8.3 스트리밍 데이터 변환

8.4 싱크: 결과 데이터 출력

8.5 요약

 

CHAPTER 9 구조적 스트리밍 작동

9.1 스트리밍 소스 소비하기

9.2 애플리케이션 로직

9.3 스트리밍 싱크에 쓰기

9.4 요약

 

CHAPTER 10 구조적 스트리밍 소스

10.1 소스의 이해

10.2 사용 가능한 소스

10.3 파일 소스

10.4 카프카 소스

10.5 소켓 소스

10.6 레이트 소스

 

CHAPTER 11 구조적 스트리밍 싱크

11.1 싱크의 이해

11.2 사용 가능한 싱크

11.3 파일 싱크

11.4 카프카 싱크

11.5 메모리 싱크

11.6 콘솔 싱크

11.7 foreach 싱크

 

CHAPTER 12 이벤트 시간 기반 스트림 처리

12.1 구조적 스트리밍에서의 이벤트 시간에 대한 이해

12.2 이벤트 시간의 사용

12.3 처리 시간

12.4 워터마크

12.5 시간 기반 윈도우 집계

12.6 레코드 중복 제거

12.7 요약

 

CHAPTER 13 고급 상태 기반 작업

13.1 예제: 차량 유지 보수 관리

13.2 상태 작동을 통한 그룹의 이해

13.3 MapGroupsWithState의 사용

13.4 FlatMapGroupsWithState 사용

13.5 요약

 

CHAPTER 14 구조적 스트리밍 애플리케이션 모니터링

14.1 스파크 메트릭 하위시스템

14.2 StreamingQuery 인스턴스

14.3 StreamingQueryListener 인터페이스

 

CHAPTER 15 실험 영역: 연속형 처리와 머신러닝

15.1 연속형 처리

15.2 머신러닝

 

[Part 3 스파크 스트리밍]


CHAPTER 16 스파크 스트리밍 소개

16.1 DStream 추상화

16.2 스파크 스트리밍 애플리케이션의 구조

16.3 요약

 

CHAPTER 17 스파크 스트리밍 프로그래밍 모델

17.1 DStream의 기본 추상화로서의 RDD

17.2 DStream 변환의 이해

17.3 요소 중심의 DStream 변환

17.4 RDD 중심의 DStream 변환

17.5 계산 변환

17.6 구조 변경 변환

17.7 요약

 

CHAPTER 18 스파크 스트리밍 실행 모델

18.1 대량 동기화 아키텍처

18.2 리시버 모델

18.3 리시버가 없는 모델 또는 직접 모델

18.4 요약

 

CHAPTER 19 스파크 스트리밍 소스

19.1 소스의 유형

19.2 일반적으로 사용되는 소스

19.3 파일 소스

19.4 큐 소스

19.5 소켓 소스

19.6 카프카 소스

19.7 더 많은 소스를 찾을 수 있는 곳

 

CHAPTER 20 스파크 스트리밍 싱크

20.1 출력 연산

20.2 내장형 출력 연산

20.3 프로그래밍 가능한 싱크로서 foreachRDD 사용하기

20.4 서드파티 출력 연산

 

CHAPTER 21 시간 기반 스트림 처리

21.1 윈도우 집계

21.2 텀블링 윈도우

21.3 슬라이딩 윈도우

21.4 윈도우 사용과 더 긴 배치 간격 사용

21.5 윈도우 기반 감소

21.6 가역 윈도우 집계

21.7 슬라이싱 스트림

21.8 요약

 

CHAPTER 22 임의 상태 기반 스트리밍 연산

22.1 스트림 규모의 상태 기반

22.2 updateStateByKey

22.3 updateStateByKey의 한계

22.4 mapwithState를 사용한 상태 기반 연산 소개

22.5 mapWithState 사용하기

22.6 mapWithState를 사용한 이벤트 시간 스트림 계산

 

CHAPTER 23 스파크 SQL로 작업하기

23.1 스파크 SQL

23.2 스파크 스트리밍에서 스파크 SQL 함수에 접근하기

23.3 유휴 데이터 처리

23.4 조인 최적화

23.5 스트리밍 애플리케이션에서 참조 데이터셋 업데이트하기

23.6 요약

 

CHAPTER 24 체크포인팅

24.1 체크포인트 사용법의 이해

24.2 DStream 체크포인팅

24.3 체크포인트에서 복구

24.4 체크포인팅 비용

24.5 체크포인트 튜닝

 

CHAPTER 25 스파크 스트리밍 모니터링

25.1 스트리밍 UI

25.2 스트리밍 UI를 이용하여 잡 성능 이해하기

25.3 REST API 모니터링

25.4 지표 하위시스템

25.5 내부 이벤트 버스

25.6 요약

 

CHAPTER 26 성능 튜닝

26.1 스파크 스트리밍의 성능 밸런스

26.2 잡의 성능에 영향을 미치는 외부 요소

26.3 성능을 향상시킬 수 있는 방법

26.4 배치 간격 조정하기

26.5 고정 속도 스로틀링을 통한 데이터 수신 제한

26.6 백프레셔

26.7 동적 스로틀링

26.8 캐싱

26.9 추측적 실행

 

[Part 4 고급 스파크 스트리밍 기술]


CHAPTER 27 스트리밍 근사 및 샘플링 알고리즘

27.1 정확성, 실시간 그리고 빅데이터

27.2 정확성, 실시간 그리고 빅데이터 삼각형

27.3 근사 알고리즘

27.4 해싱과 스케칭: 소개

27.5 고유 요소 계산: HyperLogLog

27.6 카운팅 요소 빈도: 최소 스케치 카운트

27.7 순위와 분위수: T-다이제스트

27.8 요소 수 줄이기: 샘플링

 

CHAPTER 28 실시간 머신러닝

28.1 나이브 베이즈를 이용한 스트리밍 분류

28.2 의사 결정 트리 소개

28.3 Hoeffding 트리

28.4 온라인 K-평균을 사용한 스트리밍 클러스터링

 

[Part 5 아파치 스파크를 넘어]


CHAPTER 29 기타 분산 실시간 스트림 처리 시스템

29.1 아파치 스톰

29.2 아파치 플링크

29.3 카프카 스트림

29.4 클라우드에서

 

CHAPTER 30 미리 살펴보기

30.1 연결 상태 유지

30.2 밋업에 참석하기

30.3 아파치 스파크 프로젝트에 기여하기

아파치 스파크를 사용한 스트림 처리에 오신 것을 환영합니다

 

2009년 캘리포니아대학교 버클리캠퍼스U의 마테이 자하리아가 처음 시작한 이래 아파치 스파크 프로젝트와 아파치 스파크를 사용한 스트림 처리가 얼마나 많은 성과를 거두었는지 살펴보는 것은 매우 흥미로운 일입니다. 아파치 스파크는 빅데이터 처리를 위한 최초의 통합 엔진으로 출발하여 모든 빅데이터의 실질적인 표준으로 성장했습니다.

 

이 책은 스트림 처리 엔진으로서 아파치 스파크의 개념, 도구 및 기능에 대해 가장 잘 소개하고 있습니다. 이 책은 먼저 최신 분산 처리를 이해하는 데 필요한 핵심 스파크 개념을 소개합니다. 그런 다음 다른 스트림 처리 아키텍처와 그 사이의 근본적인 아키텍처적인 절충안을 탐구합니다. 마지막으로 아파치 스파크의 구조적 스트리밍으로 분산 스트리밍 애플리케이션을 쉽게 구현하는 방법을 보여줍니다. 또한 레거시 커넥터를 사용하여 스트리밍 애플리케이션을 구축하기 위한 이전 스파크 스트리밍(일명 DStream) API도 다룹니다.

 

전체적으로 이 책은 아파치 스파크를 사용하여 스트리밍 애플리케이션을 구축하고 운영하기 위해 알아야 할 모든 것을 다룹니다! 우리는 당신이 무엇을 만들어낼지 기대하겠습니다!

이게 읽히나요?

 

번역 상태 심각합니다.

 

좋다고 별 4개 5개 주신 분들은 당최 어떻게 읽으신지 상상이 안되네요

이 책은 아파치 스파크를 기반으로 인메모리 프레임워크를 사용해 스트리밍데이터를 학습한다. 또한, 스파크로 어떻게 배치 작업하듯이 스트리밍 작업을 수행할 수 있는지를 다룬다. 스트림처리 엔진으로서 아파치 스파크의 개념, 도구, 기능과 예제를 학습하는 데 중점을 두었으며, 최신 분산처리를 이해하는데 필요한 핵심 스파크 개념을 소개한다. 그런다음 다른 스트림 처리 아키텍쳐와 그 사이의 근본적인 아키텍처적인 절충안을 탐구한다. 마지막으로 아파치 스파크의 구도적 스트리밍으로 분산 스트리밍 애플리케이션을 쉽게 구 스파크가 현재 지원하는 스파크 스트리밍 라이브러리와 최신 구조적 스트리밍 API를 배울 수 있다. 스트리밍 애플리케이션에 아파치 스파크를 적용하려는 독자라면 스트림 처리의 기본 개념부터 머신러닝을 포함한 고급 기술까지 다양한 인사이트를 얻을 수 있을 것이다. 스트림 처리를 지원하는 개념을 이해하려면 1부를 보면 책 전반에 걸쳐 공통적으로 등장하는 언어와 개념을 쉽게 사용 할 수 있도록 도움을 준다. 그 그외는 원하는 내용으로 보면 될거 같다. 데이터에 애착이 있고 스트림 처리 영역의 지식과 기술을 향상시키기 원하며 이미 아파치 스파크에 친숙하거나 자신의 스트리밍 애플리케이션에 아파치 스파크를 사용하려는 사람들이 볼 만한 책이다. 입문자, 초심자가 보기엔 어려운 책이다. 원서 번역이라 살짝 자연스럽지 않을 수 있어도 필요한 사람은 도움이 많이 될거 같다. "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

스파크를 활용한 실시간 처리 - 한빛미디어

 

spark.jpg

 

 

이책은 스트림처리에 경험이 있는 사용자들을 위한 책이다.

나또한 이런 분야에 일을 하고 있긴 하지만 스파크가 뭔지에 대해서만 알고 있지 실무로 하진 않아 내용이 조금은 어려웠다.

하지만 오픈소스와 빅데이터에 대해 간단한 지식이 있어서 조금은 도움이 되었다.

 

파트 1은 스파크를 사용한 스트림 처리의 기본 방법에 대해서 설명하고 있다

상태 및 비상태 기반 스트리밍과 시간과 스트림과의 관계등에 대해서 설명이 되고 있어 기본 개념을 잡는데 도움이 된다.

 

파트 2는 구조적으로 스트리임을 설명하고 있다

여기서 부터 본격적인 프로그래밍 실습을 할 수 있는 부분이라고 말할 수 있다.

스파크의 데이터셋 API를 사용하는 방법등이 나오고 이벤트기반 스트림 처리등이 잘 설명되어 있다.

또한 이러한 스트림을 모니터링 하는 방법과 머신러닝 모델을 스트림에 적용하는 방법등이 잘 설명되어 있다.

 

파트 3은 본격적인 스파크 스트리밍에 대해 설명한다.

스파크 스트리밍 프로그래밍 모델 부터 소스, 싱크, 스파크 SQL등을 설명하며 체크포인트 및 모니터링과 튜닝에 대해 설명한다.

 

파트 4는 스파크를 활용한 고급 애플리케이션과 근사알고리즘과 머신러닝 알고림에 대해 설명한다.

 

파트 5는 스파크 뿐만 아니라 다른 분산 실시간 스트림 처리 시스템에 대해서 간략하게 소개한다.

아파치 스톰, 아파치 플링크, 카프카 스트림 그리고 클라우드 서비스의 아마존 키네시스, 애저 스트리밍에 대해 간랸한 설명을 한다

 

이러한 기술서적을 20일동안 모두 독파하기는 쉽지 않다.

그리고 해당 분야의 사람이 아니면 책을 읽어 나가는데 조금은 어렵지 않을까 생각이 든다.

하지만, 해당 분야 종사자라면 옆에 두고 지속적을 참고할 만한 책임은 분명하다.

 

데이터는 어디에선가 끊임 없이 생성되고 또 수집되고 있으며 가공되어 분석이 되고 있다. 기업은 그 가공된 데이터를 통해 비즈니스 모델을 만들고 수익을 창출한다. 그렇다, 우리는 데이터가 디지털 시대의 '원유'로 불리고 있는 시대에 살고 있다. 

 

도처에서 생성 되는 데이터의 양이 날마다 기하급수적으로 늘어가고 있는, 그야말로 '데이터의 홍수' 속에서 가치를 발굴하기란 그리 쉬운 작업이 아니다. 그래서 데이터에 대한 기술들, 예컨대 빅데이터를 위시하여 데이터 엔지니어링과 관련 된 것들이 고안 되었고, 빅데이터의 기술의 사실상 표준(De Facto)이라고 할 수 있는 하둡 에코 시스템은 진화에 진화를 거듭하며 다양한 컴포넌트들을 흡수하고 계속해서 발전을 해오고 있다.

 

스파크는 하둡 에코 시스템의 수 많은 컴포넌트 중의 하나로서 실시간 데이터 처리, 이른바 스트리밍 처리에 있어서 훌륭한 프레임워크로 자리 잡았고, 다양한 기업과 조직이 채택해서 사용하고 있는 기술로서의 위상을 공고히 해오고 있다. 오늘은 Apache  Spark와 관련 된 도서에 대한 리뷰를 해보려고 한다. 

 

 

 

이 책은 스트림 처리에 대한 소개로 시작해서 스트림 처리 모델의 구조와 핵심에 대해 다루고 스트리밍 아키텍처에 대한 설명으로 이야기를 풀어 나간다. 또한 스트림 처리를 위한 엔진으로서 스파크의 특징에 대해 상세히 언급하고 있으며 분산 처리 모델로서 스파크가 어떻게 구성 되는지 그리고 복원력과 내결함성을 어떤 식으로 보장하는지에 대한 내용을 깊이 있게 제공하고 있다. 

또한 책의 후반부에서는 스파크의 주요한 특징 중 하나인 구조적 스트리밍을 본격적으로 다루고 있는데, 구조적 스트리밍에 대한 디테일한 내용이 심층적으로 언급 되고 있고 이후에 스파크 스트리밍에 대해 세부적인 주요 내용을 깊이 있게 풀어 나간다. 본 도서의 거의 핵심이라 일컬을 수 있는 구조적 스트리밍과 스파크 스트리밍의 다양한 특징을 맛보게 되고 나서 고급 스파크 스트리밍 기술에 대해 일부 다루는 내용을 접할 수 있게 된다. 

 

이 책은 스파크의 기본에 대해 어느 정도 알고 스파크를 접해 본 경험자들이 구조적 스트리밍과 스파크 스트리밍에 대해 학습할 수 있는 가이드를 제시하고 있기 때문에 초심자들이 책의 내용을 온전히 이해하기는 굉장히 힘들 수 밖에 없다 -.-; 또한 예제 코드가 대부분 스칼라로 작성 되었기 때문에 프로그래밍 언어를 접해 보지 못 한 이들에게는 이해하기 힘든 지점이 될 수도 있겠다. 또한 아쉬운 점은 책의 번역이 많이 매끄럽지 못한 탓일까, 책이 쉽게 읽히지 않았다는 것이다. 그럼에도 불구하고 스파크의 스트림 처리에 대한 기술 서적이 전무한 상황에 이 책은 가뭄에 단비와 같은 서적이 아닐 수가 없겠다. 

 

 

P.S : 

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.



[도서리뷰]스파크를 활용한 실시간 처리(Stream Processing with Apache Spark)

 

스파크를 활용한 실시간 처리

 

오늘 리뷰할 도서는 스파크를 활용한 실시간 처리(Stream Processing with Apache Spark)입니다. 이 리뷰는 한빛 미디어로부터 도서를 제공받아 독서 후 작성되었음을 알려드립니다.

들어가며

웹개발자들 중에 실시간 처리가 필요 없는 개발자는 없을것이다. 비록 스파크를 직접 사용해본 적은 없더라도 서비스를(혹은 플랫폼)을 함께 만드는 다른 팀에서는 실시간 처리를 위해서 스파크를 사용하고 있을 가능성이크다(필자의 경우가 그랬다.) 우리 서비스에서 스파크가 실시간 처리를 담당해준다는 사실도 알고있었고, 여러 컨퍼런스에서 스파크를 이용한 실시간 처리에 관한 세션도 들어본적이 있지만, 공부를 하지않았다. 매번 해야한다는 생각만하고 당장 처리해야할 일이 너무 많아서 하지않았던거같다. 하지만 좋은 기회에 한빛미디어가 도서를 제공해주었고 덕분에 미루어둔 공부를 할 수 있게되었다.

먼저 목차부터 살펴보도록하자.

목차에 나와있다시피 기초부터 시작하여 사례, 적용 법까지 다양한 내용을 다루고있다.
실시간처리, 스트리밍, 스파크 이런 키워드들에 대해 설명하라고하면 막연한 설명밖에 못하는분들이 보기 좋은책. 이 책은 스파크를 활용한 실시간 처리를 설명하기에 앞서 실시간 처리를 논할때 사용되는 용어 및 개념들에대해 설명하는것부터 시작한다. 즉, 별다른 선행 지식이 필요 없다는 이야기이다. 덕분에 필자도 수월하게 책의 내용을 이해할 수 있었다.

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."



출처: https://devms.tistory.com/527 [요가하는프로그래머]

이 책은 스파크 어플리케션 개발의 다양한 모델과  적용 사례를  보여준다.  구조적 스트리밍과 스파크 스트리밍을 다루면서, 이벤트 기반 스트림 처리,

고급 상태 기반 처리 기법의  실제 예제를 보여준다.

고급 스파크 스트리밍 기술로서  근사및 샘플링 알고리즘을 구현한다. 

스파크 프로그래밍에 경험이 있다면, 어플리케이션 개발에 있어 통찰력을 얻기에 충분한 책이라는 것을 체감하게 될 것이다. 

 

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다." 

 

KakaoTalk_20210523_224747778.jpg

 

KakaoTalk_20210523_224728792.jpg

 

 

 

KakaoTalk_Photo_2021-05-23-21-53-39.jpeg

 

 

 

이 리뷰는 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

 

빅데이터의 시대에 맞춰서 데이터 플랫폼은 계속해서 발전해나가고 있다. 그 중에서도 스파크는 대량의 스트림 처리를 지원하는 가장 유명한 듯 싶고 사실상 표준으로 성장한 것 같다. 스파크는 데이터분석 등 스트림 말고 다른 기능들도 제공하는데 이 책은 그 중에서도 정확히 스트림 처리와 관련된 부분만을 다루고 있는 책이다. 그래서 만약 작성자처럼 스파크 경험이 없다면 읽는 데 어려움을 겪을 지도 모르겠다. 개인적으로 추후에 다른 스파크 기본서를 읽고 다시 봐야 겠다는 생각이 들었다. 

 

초반에는 혹시나 스파크를 아직 잘 이해하지 못하는 사람들을 위해서 용어, 스트리밍 처리 모델, 아키텍처 등에 대해서 설명해준다. 하지만 초반부에서 "스파크를 어느정도 사용할 줄 아는 사람들을 위한 책" 이라는 말에 맞게 간략하게만 설명하고 넘어간다. 만약 작성자가 스파크를 다루던 사람이라면 짧게 넘어가는 부분이 마음에 들었을 것 같다는 생각이 들었다.

 

그 이후부터는 이 책에서 중점적으로 다루려고 하는 "구조적 스트리밍", "스파크 스트리밍" 에 대해서 자세히 다루기 시작한다. 우선 구조적 스트리밍 파트에서는 이에 대한 기초적인 설명으로 시작해서 이벤트 기반의 스트리밍, 모니터링 그리고 아직 릴리즈라기보단 실험적인 영역에 있는 기능들까지 설명해준다. 그 후 스파크 스트리밍 파트에서는 비슷하게 기초부터 시작해서 모니터링, 성능튜닝까지 이야기 해준다. 

마지막장에서는 머신러닝을 사용할 수 있도록 약간 맛보기 설명이 있다.

 

개인적으로 이 책을 읽으면서 다른 스파크 책을 우선적으로 학습하고 이 책을 읽었으면 어땠을까 하는 생각도 들었다. 스파크는 실무에서 거의(아예) 써본적이 없어서 이 책의 난이도가 어디에 맞는지는 정확하게 모르겠다. 하지만 스파크 컴포넌트 중에서 두 가지 컴포넌트(구조적 스트리밍, 스파크 스트리밍)만을 상세하게 다룬 책이라 다른 책과 비교했을 때 강점이 있지 않을까 싶다.

 

작성자에게는 약간 어렵게 다가오기는 했지만 그래도 여러 기술 배우는 것을 좋아하는 개발자들에게는 한번 쯤 읽어봐도 좋을 것 같다.

아파치 스파크는 빅 데이터 분산 처리에 활용하는 오픈 소스입니다.

 

빅 데이터 플랫폼은 수집, 저장, 처리(Processing), 관리 프로세스가 있는데,

이 중 처리에 해당하는 서비스라 할 수 있습니다.

 

 

책의 표지에는 "실시간 데이터 처리"라는 부분을 강조하고 있고, 이 모든 작업이

스파크의 API를 사용함도 강조하고 있습니다.

 

이 책의 모든 소스 코드는 스칼라로 구현된 예제를 실었습니다.

따라서 스칼라 경험이 있는 개발자는 좀 더 코드를 이해하는데 용이하고,

스칼라를 모르더라도 객체지향 경험이 있다면 어렵지 않게

코드 구성이 가능합니다.



카프카와 연동한 부분을 매우 흥미롭게 읽었습니다.

카프카는 알려진 대로 Pub/Sub 구조의 메시지 큐입니다.

스파크는 카프카 외에도 데이터의 입력 부분에 다양한 오픈 소스 연동이 가능합니다.

 

빅 데이터와 뗄 수 없는 기술이 머신러닝이라 할 수 있죠.

머신러닝에 어떻게 스파크가 연계될 수 있는지를 머신러닝 초보자도 잘 알 수 있도록

쉽게 풀어서 기술하였습니다.

 

이 책의 또 다른 장점은 어려운 개념을 풀어쓰기 위해

다양한 형태의 다이어그램을 도입했다는 점입니다.

 

많은 기술서들이 그러하지만 특히 어려운 개념을 아래와 같이

이미지를 통해 전달하는 것은 문장 열 마디보다 효과적입니다.



클라우드에서는 빅데이터 분산 처리를 어떻게 수행하는지 부록의 성격으로 알려주고 있습니다.

 

이 책에 대해 느낀 점은 빅 데이터를 처음 시작하는 초심자에겐 약간 어려울 수 있다는 점입니다.

개인적으로도 처음 기술을 접하는 분들은 번역서보다는 국내서를 추천합니다.

번역서는 아무래도 오역이 있을 수도 있고, 뉘앙스 전달이 매끄럽지 못한 부분이 있는데,

어려운 기술을 다룬 변역서 일수록 이 부분이 여실히 드러납니다.

그렇지만 국내서로는 이렇다 할 스파크 관련 도서가 많지 않다는 점과,

다양한 API와 연계가 가능한 use case를 많이 다루었다는 점에서 이 도서는 의미가 있습니다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

 







아파치 스파크는 SQL, 스트리밍, 머신러닝, 그래프 처리를 위한 대규모 데이터 처리용 통합 분석 엔진입니다.


스파크는 분산 시스템에 속하는데요.

주로 인 메모리 처리 아키텍처에 쓰입니다.


스파크에 관심 있는 분들에게 추천하고 싶은 책이 있습니다.


책 제목은 '스파크를 활용한 실시간 처리'입니다.


여기서는 스파크는 아파치 스파크를 줄여서 말하겠습니다.


이 책을 통해 스트리밍 데이터를 처리하는 방법을 배워가는 시간이 되길 바랍니다.



02 2.jpg

 


1. 스트림

분석 도구로 빠르게 인사이트를 얻으려면 어떻게 해야 할까요?

데이터를 실시간처리 하는 방법을 알아야 합니다.


실시간 처리라 하면 생방송을 예로 들 수 있습니다.


생방송이 중간에 끊기면 시청자들은 불만을 느끼게 됩니다.


끊김 없이 바로바로 처리되어야 문제가 없는 겁니다.


이처럼 데이터를 처리할 때 실시간 처리가 잘 이뤄져야 오류 없이 실행됩니다.


직렬과 병렬을 비교하면 직렬보다 병렬이 빠르게 동작합니다.


병렬처리는 속도는 빠르지만, 비용이 많이 듭니다.



03 2.jpg

 


2. 분산처리

분산처리는 쉽게 표현해보겠습니다.


100명의 사람이 한길로 가게 되면 오랜 시간이 걸리게 됩니다.


하지만 100명의 사람이 10개의 길로 간다면 시간은 십 분의 일이 줄어듭니다.


분산처리란 자원을 효과적으로 관리하는 것을 의미합니다.


간단한 경우 설명이 쉽지만 복잡한 구조의 경우 구조에 대한 이해가 필요합니다.


01 2.jpg

 

 

Ps

아파치 스파크 이론과 예제를 통해 학습하신다면 스파크를 이해하는 데 도움 될 것입니다.


기본개념부터 머신러닝을 사용하는 고급 스파크 스트리밍 기술까지 알려줍니다.


이 책을 통해 스파크 스트리밍 라이브러리와 최신 구조적 스트리밍 API를 배울 수 있습니다.


스트리밍은 사람들이 실시간 처리로 알고 있습니다.


데이터 처리 방식에는 예를 들어 일괄처리방식이 있는데요.

데이터를 모아뒀다가 일괄적으로 처리하는 것을 말합니다.


스파크가 궁금하신 분들은 이 책을 한 번 읽어보시길 추천합니다.


한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

 

스파크는 빅데이터 분석 분야에서 독보적인 위치에 있습니다.

스트리밍 프로세싱에 있어 Flink라는 강력한 경쟁자가 있지만, 배치와 스트리밍을 모두 같은 플랫폼을 사용할 수 있다는 점에서 스파크는 널리 사용되고 있습니다.

 

스파크 공식 문서를 통해 스파크 스트리밍을 사용하다가 해당 도서가 출판된 것을 보고 매우 기뻤습니다.

이 책에는 스트리밍의 개념부터 활용 예제까지 많은 내용이 담겨있습니다.

스파크를 처음 사용하시는 분은 먼저 공식 문서나 스파크 완벽 가이드를 통해 학습하시고 이 책을 보시길 추천드립니다.

(이 책을 보시는 분들은 본인의 스파크 실행 환경을 가지고 계시겠지만, 책에서도 스파크를 사용할 수 있는 노트북 환경을 제공합니다.)

 

소스, 처리, 싱크를 순서에 맞게 설명하고 있으며, 시간 처리와 상태를 정기적으로 저장할 수 있는 체크포인팅까지 코드와 함께 잘 설명하고 있습니다.

스트리밍 애플리케이션을 만드실 때 참고하기 좋은 도서라고 생각합니다.

 

다만, 번역 부분이 매끄럽지 않아서 잘 읽히지 않는 것이 아쉬웠습니다.

 

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

크기가 무한한 유형의 데이터 ’, 이는 스트림의 정의이다. 책의 서두에서 스트림 처리는 무한한 데이터를 처리하는 규율 관련 기술의 집합이라고 설명한다. 경계가 없다는 뜻인 무한이라는 것을 이론적으로는 생각할 있지만, 현실적으로는 불가능하다. 그러나 공간의 개념에서 무한 데이터는 존재할 없지만, 시간 축에서 바라보는 데이터의 흐름은 무한의 개념이 가능해진다. 책을 보고 나서야 단순히 대량의 데이터 처리라고 생각했던 스트림에 대한 개념이 시간 개념의 데이터 스트림이라는 것을 알게 되었다.

                                               

 

KakaoTalk_Photo_2021-05-23-17-02-43.jpeg

 

 

 

경계가 명확한 대량의 데이터는 배치 처리로 처리하는 것이고, 경계가 불명확한 (Unbounded data 데이터는 스트림 처리라는 또한 책을 보고 나서야 알게 되었다. 우리가 서로 생각하고 있는 용어의 의미를 합의하고 시간이 진행되어야 한다며 충분한 사전 지식과 용어 설명에 시간을 아끼지 않았던 어떤 세미나가 생각났다. 어떤 발표 또는 어떤 책을 쓰게 된다면 책의 1장처럼 써야겟다는 생각이다. 책을 접하게 된다면 1장을 정독하기를 바란다.

 

책은 단순히 인메모리 스트림 처리에 대한 사용법에서 그치지 않고 독자로 하여금 어디까지 스파크를 활용할 있는지를 보여준다. 특히 (이론적으로는) 무한한 스트림을 처리하기 위해 분산 처리 모델을 제시하고 예를 들어 실제 어떻게 동기화를 하는지 드러낸다. 아울러, 스트리밍 처리의 구조에서 이벤트 시간을 기반으로 어떻게 처리하고 중복을 막는지도 설명한다.

 

책의 중반에 이르러서야 본격적으로 아파치 스파크를 설명하는데 그만큼 부분에서 스트림 처리에 대한 충분한 설명을 감당해낸다. 아파치 스파크에 대한 활용에서 모니터링과 성능 튜닝까지 설명하니 , 중급 개발자를 넘어 시니어 개발자도 책을 일하는 곳에 비치해두기를 바란다.

 

최근 주식 거래가 활발해지면서 알고리즘과 데이터, 머신러닝 등을 활용한 트레이딩에 관심이 많은데, 책을 만나게 것이 행운이라는 생각이 든다. 조금 아쉬운 부분은 이미지나 도표, 그래프 등이 부족해서 시각적인 자료를 통해 이해를 돕는 부분이 부족한 것이 스파크를 처음 접하는 이들에게는 다소 힘들 있겠다는 생각이 든다. 데이터 처리에 대한 충분한 이해를 바탕으로 접근할 있을 책이 전문서적으로서 힘을 발휘할 있겠다.

 

 

"한빛미디어 <나는 리뷰어다활동을 목적으로 책을 제공받아 작성된 서평입니다."

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

스파크는 각광받는 분산처리 프레임워크입니다. 데이터를 메모리에 두고 처리하기 때문에 처리 속도가 매우 빠릅니다. 물론 이로 인해 공간의 제약을 받기 때문에 많은 양의 데이터를 한꺼번에 처리하기 힘들다는 단점을 가지고 있지만, 램의 발전 속도가 멈추지 않고 있기 때문에 날이 갈수록 더욱 고용량의 메모리를 적정한 가격에 구비할 수 있는 것도 사실입니다. 특히 해당 도서에서 자랑하고 있는 실시간 처리를 위해서는 한꺼번에 처리해야 하는 양보다는 처리 속도가 더 중요한 지표이기 때문에 이런 상황에서 스파크는 몇 없는 선택지 중 하나가 됩니다. 더구나 스칼라, 자바 뿐만 아니라 pyspark 등을 사용하면 python 으로도 사용할 수 있기 때문에 접근성이 꽤 높다는 장점도 있지요.


 

실시간 데이터 처리를 위해서라면

본 책에서는 실시간 처리 과정에서 일어날 수 있는 다양한 상황과 이런 상황에서 사용할 수 있는 방법들을 일목요연하게 정리하여 제시해주고 있습니다.

스파크를 사용하고 있는 기업은 제법 많지만 국어로 번역되어 나온 스파크 서적 중 개념서 이상의 책은 많지 않은 것으로 알고 있습니다. 물론 다른 좋은 책도 많지만 실시간 데이터 처리를 하고자 하는 사람에게는 이 책이 매우 좋은 가이드북이 될 수 있을 것이라고 생각합니다.

더구나 책 말미에는 실시간 ML에 적용하는 방법 등도 제시하고 있는데 유사한 ML 파이프라인을 구축해보고자 하는 사람들에게도 좋은 안내서가 될 것입니다.


 

어디까지나 "잘"(!) 쓰고자 하는, 목적에 충실한 책

그렇습니다. '잘' 쓰고자 하는 사람을 위한 책이지 '써보고자' 하는 사람을 위한 책은 아닙니다. 더구나 예제 코드가 스칼라 이외에는 제공되지 않기 때문에 자바나 파이썬으로 스파크를 접한 사람에게는 바로 적용하기 힘든 레퍼런스가 될 수도 있겠다는 생각도 듭니다.

위 도서에서는 스파크에 대한 자세한 설명 없이 (이미 알고 있다고 생각하고) 실시간 처리를 적용하는 단계로 넘어갑니다. 만약 스파크를 처음 접하는 사람에게는 같은 출판사의 '스파크 완벽 가이드'가 더 좋은 안내서가 될 수 있을 것으로 생각합니다. 무턱대고 대상 도서를 사는 사람은 없었으면 하는 바람이 있습니다.

아무튼 스파크를 사용해 본 경험이 있고, 이를 바탕으로 스트리밍을 프로덕션 단계에 적용하고자 하는 사람에게는 최고의 책이겠지만 그렇지 않은 사람에게는 다른 동네의 이야기가 될 수도 있겠다는 생각이 들었습니다.

본 포스터는 한빛미디어에서 [나는 리뷰어다]를 통해 책을 지원받아 작성한 리뷰 포스터입니다. 먼저 저는 대학원생이고 스파크의 경우 아예 처음이었습니다. 

 

 

 

1. 소개

Apach Spark는 SQL, 머신러닝 등을 위한 대규모 데이터 처리 분석 엔진입니다. 한마디로 빅데이터를 분석하기 위한 언어입니다. 보통 Hadoop과 스파크 둘 중 하나의 언어를 사용하는데, 구글 클라우드 잼의 글에서는 아래와 같이 비교를 한다고 합니다. 

Hadoop은 주로 디스크 사용량이 많고 맵리듀스 패러다임을 사용하는 작업에 사용됩니다. Spark는 더 유연하지만 대체로 더 많은 비용이 드는 인메모리 처리 아키텍처입니다. 각 기능을 이해하고 있으면 언제 어떤 것을 구현할지 결정하는 데 도움이 됩니다.

출처 : https://cloud.google.com/learn/what-is-apache-spark?hl=ko

 

책의 구성은 아래와 같이 5개의 부로 구성되어있습니다. 

  • 1부 : 스트림 처리의 기본 개념, 스트리밍을 구현하는 아키텍처의 청사진, 스파크의 내용 
  • 2부 : 구조적 스트리밍, 프로그래밍 모델, 비상태 변환에서 고급 상태 작업에 이르는 스트리밍 애플리케이션 
  • 3부 : 스파크 스트리밍. 구조적 스트리밍과 비슷한 조직에서 스트리밍 애플리 케이션을 생성하는 방법 
  • 4부 : 고급 스트리밍 기술에 대한 개념. 스트림 처리 문제를 해결하고 스파크 스트리밍을 통한 온라인 머신러닝의 제한된 공간을 조사하기 위해 확률적 데이터 구조와 근사 기법의 사용 
  • 5부 : 아파치 스파크 이외의 스트리밍 방식 

책의 언어는 자바의 함수형 언어인 스칼라로 구성되어있습니다. 

2. 후기

결론부터 말하면 아쉬움이 남는 책이었습니다. 제가 스칼라도 모르고 스파크도 모르기에 공부하는데 어려움이 컸습니다. 아는 게 없어서인지 글 자체가 아예 안 읽히는 느낌이었습니다. 

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

 

아파치 스파크란?

아파치 스파크는 매우 큰 데이터 집합을 대상으로 빠르게 처리 작업을 수행하고 데이터 처리 작업을 분산할 수 있는 데이터 처리 프레임워크다. 이 책에서는 스파크를 활용하여 실시간 처리와 관련된 여러가지 정보들을 알려주고 있다. 

이책에서 가장 중점적으로 하는 집중하는 분야는 특히 Streaming과 관련되어있는 쪽으로 실시간에 포커스가 맞춰져있다.

이 책에서 주로 다루는 내용

대주제로써는 아파치 스파크를 사용한 스트림 처리의 기본. 구조적 스트리밍, 스파크 스트리밍,고급 스트리밍 기술과 같은 방향으로 전적으로 스트리밍 서비스와 대용량 스트리밍에 적합한 내용들 위주로 대부분의 내용들로 구성되어있었으며, 어떤식으로 코딩을 해야하는 가에 대해서도 역시 적혀져 있었다. 

Spark를 다루는 언어로는 대부분 Scala를 이용하고 있고, 스칼라를 바탕으로 스트리밍을 하는 방식에 대해서 예제를 많이 다루고 있다. 스트리밍에 필요한 API들에 대해서 자세하게 다루고 있었다. 

 

내부 내용중 구조적 스트리밍 소스에 관련하여 간략하게 보자면,  다음과 같은 내용들이 포함되어있었다. (p.153)

사용가능한 소스가 파일, 카프카 소캣, 레이트와 같은 소스들을 지정해서 구조적 스트리밍소스에 포함되있다.

그중 파일형식을 지정하기 위해서는 스칼라에서 다음과 같은 방향으로 설정해줘야한다. 

 

파일은 다음과 같은 형식을 지켜줘야한다. 

  • CSV
  • JSON
  • 파케이
  • 텍스트 등...

구조적 스트리밍을 하기위해서 필요한 직접적으로 사용할 수 있는 코드들과 어떤 것이 가능한지에 대해서 자세하게 적혀져있다. 

여러 스트리밍들에 대해서 여러 메소드들에 대한 자세한 설명, 그리고 

마지막으로...

스파크 스트리밍과 스칼라를 아는 상태를 전제로 책을 집필한듯해보였고, 대부분의 예제와 스파크를 어느정도 아는 상태에서 이 책을 보면 훨씬 더 좋은 내용들이 많이 들어있을거라고 생각한다. 내가 빅데이터와 스트리밍이 필요할정도로 규모가 큰 아키텍쳐를 다뤄보았던 경험이 없어서 크게 더 와닿지 않았던 것이 더 좋은 서평을 쓰기에 스스로의 실력이 좀 벅찼던 것이 제일 아쉬웠다. 

※한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.


좋았던 점

1. 탄탄한 기초개념 설명부터 심화까지
기초적인 개념부터 설명하는 부분이 있어서 상당히 좋았는데, 몇 년 전 스파크를 사용했던 경험을 떠올리며 대충 알고 사용했던 것들을 하나하나 고쳐잡아가며 읽을 수 있었다.

2. 개발자는 역시 에러 잡는 게 일
이 책에서 가장 마음에 드는 점은 단순히 베스트 시나리오만 정리되어 있는 게 아니라 실패했을 때에 대한 처리, 과정 등이 나타나 있는 부분이 좋았다.
물론 분산/배치 처리의 특성상 실패가 매우 큰 키워드이긴 하지만, 이것에 대해 시나리오를 예시로 들어 설명되어 이해하기가 편했다.

3. '설명서'에 가까운 책
개념 설명뿐 아니라 마치 레퍼런스 문서와 같은 옵션에 대한 상세한 설명이 함께 있어서 매우 큰 도움이 되었다. 실무적으로 일을 할 때에는 결국 자기 자신의 환경에 맞는 값을 찾아나가는게 큰 고난인데, 단순히 한 과정을 설명만 하는게 아니라 여러 옵션에 대해 나열하고 설명해주는 점이 좋았다.


주의사항

1. 예제 코드가 스칼라로 되어있다. 
스칼라를 알고 있다면 당연히 문제 되지 않겠지만, 자바만 알고 있다거나 하는 경우에는 조금 낯설 수 있다. 코틀린 경험자의 경우 문법적으로 유사한 부분이 많기 때문에 문제 되지 않을 것이다. 개인적으론 좀 더 범용적으로 많이 사용되는 자바나 파이썬이 선택되었다면 더 좋았을 것이라고 생각한다.

2. 완전한 초보를 위한 책은 아니다. (중급용)
애초에 주제가 "스트림 처리"인 만큼 이 책을 검색하고 관심있어하는 사람은

당연히 경험이 있거나 또는 아주 관심이 큰 사람일 것으로 생각된다.
기술적으로 어려운 단어나 개념들이 꽤 많기 때문에 개발자로서 어느 정도의 기반 지식은 갖춘 사람에게 적합하다.
특히 후반부의 경우에는 머신러닝까지도 가볍게지만 훑고 가는데 뭐 어차피 단순히 작은 연산을 위한 배치 프로세싱 정도가 전부 라면 앞 장만으로도 충분하긴 할 것이다.
문장 자체가 말랑말랑한 느낌조차도 아니기 때문에 좀 더 어렵게 느껴질 수 있을 것 같다.

아쉬운 점

읽다 보면 자연스럽게 머리에 들어가지 않은 부분이 있었는데 이는 번역투라고 해야 할까, 자연스럽지 못한 문장들이 꽤 있는 것 같다.
번역서인 이 책을 오히려 반대로 단어를 영어로 번역해서 읽으면 아하 싶은 부분들이 있었다. 이 부분은 좀 아쉬운 것 같다.

스파크를 활용한 실시간 처리

 

스파크의 개념 및 기능과 구조적 스트리밍, 스파크 스트리밍 

그리고 고급 스파크 스트리밍 기술에 대해 설명하고자 한다.

 

이 책은 원서가 있는 번역서이며 페이지 수가 제법된다. (472p)

 

 

결론부터 말하자면

나는 이 책을 추천하지 않는다.

 

이 책을 어렵게 옮기신 저자님께는 미안한 일이지만 나는 솔직하게 평하고자 한다.

 

 

이 책의 원서에서는 원문을 어떻게 표현했는지 읽지 않았기 때문에 알 수 없다.

하지만 이 책의 문장은 거의 그대로 직역한 수준으로 읽기에 어려움이 있었다.

(Stream Processing with Apache Spark [O'REILLY)

https://books.google.co.kr/books/about/Stream_Processing_with_Apache_Spark.html

 

 

만약 책 번역 작업에 있어서

원서 저자의 문장을 그대로 옮겨야 하는 계약이 있다면 본 평에 양해를 바란다.

 

 

책은 저자에게 좋은 커리어가 될 수 있는 좋은 도구지만

1차적인 목적은 책을 구입한 독자에게 도움을 주는데 있다.

 

본인은 개발자로서 스파크에 관심을 가지고 이 책에 접근했지만

페이지 문장 마다 읽는데 시간이 너무 소요되었고 집중력이 떨어졌다.

 

나름대로 책을 많이 접하며, 좋은 번역서를 본 독자의 입장에서

좋은 평을 줄 수 없음을 이해 바랍니다. 

 

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 상품명 :
스파크를 활용한 실시간 처리
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
스파크를 활용한 실시간 처리
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
스파크를 활용한 실시간 처리
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실

최근 본 상품1