아파치 아이스버그의 구조와 작동 원리를 설명하고, 나아가 스파크와 플링크를 활용한 데이터 처리, 스트리밍과 배치 워크로드, 데이터 관리, 스키마 및 파티션 진화, 유지 보수와 성능 최적화까지 실무에서 필요한 내용을 폭넓게 다루는 책이다. 아이스버그가 기존 데이터 레이크의 한계를 어떻게 해결하는지 살펴보고, 트랜잭션, 시계열, 데이터 품질 관리, CDC, 동시성 제어, 메타데이터 관리 등 대규모 데이터 플랫폼 운영에 필요한 핵심 개념을 실제 예제와 함께 설명한다. 안정적이고 확장 가능한 데이터 레이크하우스를 구축하려는 엔지니어에게 실질적인 도움을 주는 가이드북이다.
목차
옮긴이 머리말 xi 추천 서문(게리트 카츠마이어) xiii 추천 서문(라구 라마크리슈난) xiv 추천 서문(릭 시어스) xv 시작하며 xvii 표지에 대하여 xxi
PART I 아파치 아이스버그 기초
CHAPTER 1 아파치 아이스버그 소개 3
1.1 어떻게 여기까지 오게 되었나? 간단한 역사 3 1.2 데이터 웨어하우스 7 1.3 데이터 레이크 11 1.4 데이터 레이크에서 분석을 실행해야 할까, 아니면 데이터 웨어하우스에서 실행해야 할까? 15 1.5 데이터 레이크하우스 16 1.6 테이블 형식이란 무엇인가? 18 1.7 하이브: 태초의 테이블 형식 19 1.8 모던 데이터 레이크 테이블 형식 22 1.9 아파치 아이스버그란 무엇인가? 23 1.10 요약 30
4.1 압착 67 4.2 압착 실습하기 69 4.3 정렬 77 4.4 z-order 81 4.5 파티셔닝 84 4.6 copy-on-write 대 merge-on-read 89 4.7 기타 고려 사항 95 4.8 요약 103
CHAPTER 5 아이스버그 카탈로그 104
5.1 요구 사항 104 5.2 카탈로그 비교 105 5.3 카탈로그 마이그레이션 114 5.4 요약 121
PART II 아파치 아이스버그 실제로 사용해 보기
CHAPTER 6 아파치 스파크 125
6.1 설정하기 125 6.2 데이터 정의 언어 133 6.3 데이터 읽기 144 6.4 데이터 쓰기 148 6.5 아이스버그 테이블 유지보수하기 153 6.6 요약 155
CHAPTER 7 드레미오의 SQL 쿼리 엔진 156
7.1 설정하기 156 7.2 데이터 정의 언어 158 7.3 데이터 읽기 162 7.4 데이터 쓰기 164 7.5 아이스버그 테이블 유지보수하기 166 7.6 요약 168
CHAPTER 8 AWS Glue 169
8.1 설정하기 169 8.2 Glue 데이터 카탈로그를 사용하여 테이블 생성하기 173 8.3 요약 175
CHAPTER 9 아파치 플링크 176
9.1 설정하기 176 9.2 데이터 정의 언어 179 9.3 데이터 읽기 185 9.4 데이터 쓰기 187 9.5 플링크 DataFrame 및 Table API와 아파치 아이스버그 테이블 189 9.6 요약 195
PART III 실전에서 아파치 아이스버그 사용하기 197
CHAPTER 10 프로덕션 환경에서의 아파치 아이스버그 199
10.1 아파치 아이스버그 메타데이터 테이블 200 10.2 브랜치를 사용해서 변경 사항 격리하기 227 10.3 다중 테이블 트랜잭션 234 10.4 변경 사항 롤백하기 236 10.5 요약 241
CHAPTER 11 아파치 아이스버그로 스트리밍하기 243
11.1 스파크를 사용해서 스트리밍하기 244 11.2 플링크를 사용해서 스트리밍하기 250 11.3 카프카 커넥트를 사용해서 스트리밍하기 259 11.4 AWS로 스트리밍하기 264 11.5 요약 268
CHAPTER 12 거버넌스와 보안 269
12.1 데이터 파일 보안 270 12.2 의미 체계 계층에서의 보안 및 관리 284 12.3 카탈로그 수준에서 보안 및 관리 291 12.4 추가적인 보안 및 거버넌스 고려 사항 297 12.5 요약 298
CHAPTER 13 아파치 아이스버그로 마이그레이션하기 299
13.1 마이그레이션 고려 사항 300 13.2 하이브 테이블을 아파치 아이스버그로 마이그레이션하기 303 13.3 델타 레이크를 아파치 아이스버그로 마이그레이션하기 305 13.4 아파치 후디를 아파치 아이스버그로 마이그레이션하기 306 13.5 개별 파일을 아파치 아이스버그로 마이그레이션하기 307 13.6 데이터를 다시 써서 임의의 위치에서 마이그레이션하기 309 13.7 요약 314
CHAPTER 14 아파치 아이스버그의 실제 활용 사례 316
14.1 아파치 아이스버그에서 Write-Audit-Publish를 사용하여 데이터 품질 보장하기 316 14.2 데이터 레이크에서 BI 워크로드 실행하기 325 14.3 아파치 아이스버그로 CDC 구현하기 330 14.4 요약 338