책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > 파이썬
· ISBN : 9791191600148
· 쪽수 : 336쪽
책 소개
목차
PART I 데이터 파이프라인 구축: 추출, 변환, 적재 1
CHAPTER 1 데이터 공학이란? 3
1.1 데이터 공학자가 하는 일 3
1.2 데이터 공학 대 데이터 과학 7
1.3 데이터 공학 도구들 7
1.4 요약 13
CHAPTER 2 데이터 공학 기반구조 구축 15
2.1 아파치 NiFi의 설치와 설정 16
2.2 아파치 에어플로의 설치와 설정 24
2.3 일래스틱서치의 설치와 설정 30
2.4 키바나의 설치와 설정 31
2.5 PostgreSQL의 설치와 설정 36
2.6 pgAdmin 4 설치 37
2.6.1 pgAdmin 4 둘러보기 38
2.7 요약
CHAPTER 3 파일 읽고 쓰기 41
3.1 파이썬으로 파일 쓰고 읽기 41
3.2 아파치 에어플로 데이터 파이프라인 구축 51
3.3 NiFi 처리기를 이용한 파일 다루기 57
3.4 요약 68
CHAPTER 4 데이터베이스 다루기 69
4.1 파이썬을 이용한 관계형 데이터 삽입 및 추출 70
4.2 파이썬을 이용한 NoSQL 데이터베이스 데이터 삽입 및 추출 79
4.3 데이터베이스를 위한 아파치 에어플로 데이터 파이프라인 구축 87
4.4 NiFi 처리기를 이용한 데이터베이스 처리 91
4.4.1 PostgreSQL에서 데이터 추출 92 / 4.4.2 데이터 파이프라인 실행 95
4.5 요약 96
CHAPTER 5 데이터의 정제, 변환, 증강 99
5.1 파이썬을 이용한 탐색적 데이터 분석 100
5.2 pandas를 이용한 공통적인 데이터 문제점 처리 109
5.3 에어플로를 이용한 데이터 정제 119
5.4 요약 122
CHAPTER 6 실습 프로젝트: 311 데이터 파이프라인 만들기 123
6.1 데이터 파이프라인 구축 123
6.2 키바나 대시보드 만들기 132
6.3 요약 142
PART II 실무 환경 데이터 파이프라인 배치 145
CHAPTER 7 실무용 데이터 파이프라인의 특징 147
7.1 데이터의 스테이징과 검증 148
7.2 멱등적 데이터 파이프라인 구축 168
7.3 원자적 데이터 파이프라인 구축 169
7.4 요약 171
CHAPTER 8 NiFi 레지스트리를 이용한 버전 관리 173
8.1 NiFi 레지스트리의 설치과 설정 173
8.2 NiFi에서 레지스트리 사용 176
8.3 데이터 파이프라인 버전 관리 178
8.4 NiFi 레지스트리에서 git-persistence 활용 184
8.5 요약 188
CHAPTER 9 데이터 파이프라인 모니터링 189
9.1 NiFi GUI를 이용한 데이터 파이프라인 모니터링 189
9.2 NiFi 처리기를 이용한 데이터 파이프라인 모니터링 198
9.3 파이썬과 REST API를 이용한 데이터 파이프라인 모니터링 201
9.4 요약 206
CHAPTER 10 데이터 파이프라인 배치 207
10.1 실무 배치를 위한 데이터 파이프라인 마무리 작업 207
10.2 NiFi 변수 레지스트리 활용 214
10.3 데이터 파이프라인 배치 217
10.4 요약 222
CHAPTER 11 실습 프로젝트: 실무용 데이터 파이프라인 구축 223
11.1 검사 환경과 실무 환경 구축 223
11.2 실무용 데이터 파이프라인 구축 227
11.3 데이터 파이프라인을 실무 환경에 배치 238
11.4 요약 238
PART III 일괄 처리를 넘어서: 실시간 데이터 파이프라인 구축 241
CHAPTER 12 아파치 카프카 클러스터 구축 243
12.1 주키퍼 및 카프카 클러스터 생성 243
12.2 카프카 클러스터 시험 운영 248
12.3 요약 250
CHAPTER 13 카프카를 이용한 데이터 스트리밍 251
13.1 로깅의 기초 251
13.2 카프카의 로그 활용 방식 253
13.3 카프카와 NiFi를 이용한 데이터 파이프라인 구축 257
13.4 스트림 처리와 일괄 처리의 차이 264
13.5 파이썬을 이용한 메시지 생산 및 소비 266
13.6 요약 270
CHAPTER 14 아파치 스파크를 이용한 데이터 처리 271
14.1 아파치 스파크의 설치와 설정 271
14.2 PySpark의 설치와 설정 275
14.3 PySpark를 이용한 데이터 처리 277
14.4 요약 283
CHAPTER 15 MiNiFi, 카프카, 스파크를 이용한 실시간 엣지 데이터 처리 285
15.1 MiNiFi 설치 및 설정 285
15.2 MiNiFi 데이터 파이프라인 구축 및 연동 288
15.3 요약 293
APPENDIX A NiFi 클러스터 구축 295
리뷰
책속에서
가장 낮은 수준에서 데이터 공학에는 데이터를 한 시스템에서 다른 시스템으로 이동하거나 다른 형식(format)으로 변환하는 작업이 관여한다. 좀 더 일반적인 용어로 말하자면, 데이터 공학자는 자료원, 즉 데이터 공급원에서 데이터를 질의하고(‘추출’), 데이터를 어떤 방식으로든 수정하고(‘변환’), 데이터를 사용자가 접근할 수 있는, 그리고 거기에 있는 데이터가 실무 품질임을 아는 어떤 장소에 넣는다(‘적재’). 추출(extract), 변환(transform), 적재(load)라는 용어들은 이 책 전체에 쓰이며, 종종 ETL로 줄여서 표기하기도 한다. 그런데 데이터 공학의 이러한 정의는 다소 광범위하고 단순화된 것이다. 그럼 데이터 공학자가 과연 어떤 일을 하는지를 예제를 통해서 좀 더 깊게 살펴보자.
데이터 공학자는 효율적인 데이터 전송을 위해 데이터 형식, 모형, 구조를 고민하는 반면, 데이터 과학자는 그런 데이터를 활용해서 통계 모형을 구축하고 수학 계산을 수행하는 방법을 고민한다.
데이터 과학자는 데이터 공학자가 만든 데이터 웨어하우스에 연결해서 기계학습 모형과 분석에 필요한 데이터를 추출한다. 데이터 과학자가 자신의 모형들을 데이터 공학 파이프라인에 집어넣는 경우도 있다. 그런 만큼 데이터 공학자와 데이터 과학자는 밀접한 관계를 맺어야 한다. 데이터 과학자가 데이터에서 무엇을 필요로 하는지를 파악하는 것은 데이터 공학자가 더 나은 제품을 제공하는 데 도움이 된다.