상세정보
스파크를 활용한 실시간 처리
- 저자
- 제러드 마스,프랑수아 가릴로 저/김인범 역
- 출판사
- 한빛미디어
- 출판일
- 2021-03-29
- 등록일
- 2021-09-16
- 파일포맷
- PDF
- 파일크기
- 10MB
- 공급사
- YES24
- 지원기기
-
PC
PHONE
TABLET
웹뷰어
프로그램 수동설치
뷰어프로그램 설치 안내
책소개
한 권으로 정리하는 스파크 스트리밍데이터를 실시간으로 처리하는 방법을 안다면, 분석 도구로 빠르게 인사이트를 얻을 수 있다. 이 책은 아파치 스파크를 기반으로 인메모리 프레임워크를 사용해 스트리밍 데이터를 처리하는 방법을 학습한다. 또한, 스파크로 어떻게 배치 작업하듯이 스트리밍 작업을 수행할 수 있는지를 다룬다.아파치 스파크의 이론과 예제를 학습하는 데 중점을 두었으며, 스파크가 현재 지원하는 스파크 스트리밍 라이브러리와 최신 구조적 스트리밍 API를 배울 수 있다. 스트리밍 애플리케이션에 아파치 스파크를 적용하려는 독자라면 스트림 처리의 기본 개념부터 머신러닝을 포함한 고급 기술까지 다양한 인사이트를 얻을 수 있을 것이다.
저자소개
라이트벤드Lightbend의 수석 엔지니어로서 구조적 스트리밍과 기타 확장 가능한 스트림 처리 기술을 라이트 밴드 플랫폼에 원활하게 통합하는 작업을 하고 있다. 이전에 클라우드 네이티브 IoT 스타트업에서 일하면서 데이터 처리 팀을 이끌고 스파크 스트리밍을 처리량의 한계까지 밀어붙인 스트리밍 파이프라인을 구축했다. 당시 그는 스파크 스트리밍 성능을 튜닝하기 위한 첫 번째 포괄적인 가이드를 제시했다. 데이터 과학 거버넌스, 클라우드 네이티브 IoT 플랫폼, 통신 플랫폼 및 확장 가능한 API를 구축하는 여러 스타트업 및 대기업에서 주도적인 역할을 수행했으며, 기술 컨퍼런스의 정기 연사이고, 크고 작은 오픈 소스 프로젝트에 컨트리뷰터로 활동하고 있다. 베네수엘라의 시몬 볼리바르 대학교에서 컴퓨터 공학 학위를 취득했다. 트위터에서는 @maasg로 찾을 수 있다.
목차
[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 스파크의 폴리글랏 API4.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의 기본 추상화로서의 RDD17.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 updateStateByKey22.3 updateStateByKey의 한계22.4 mapwithState를 사용한 상태 기반 연산 소개22.5 mapWithState 사용하기22.6 mapWithState를 사용한 이벤트 시간 스트림 계산CHAPTER 23 스파크 SQL로 작업하기23.1 스파크 SQL23.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 스트리밍 UI25.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 고유 요소 계산: HyperLogLog27.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 아파치 스파크 프로젝트에 기여하기