
데이터 분석가를 위한 데이터 엔지니어링 기초 다지기 with Python
Description
책소개
『데이터 분석가를 위한 데이터 엔지니어링 기초 다지기 with Python』은 데이터 분석가와 취업 준비생을 위한 실전형 데이터 엔지니어링 입문서이다.
데이터 엔지니어링의 핵심인 ETL(Extract, Transform, Load) 과정을 중심으로, Python과 MySQL, Docker, MongoDB, DuckDB, Milvus, Streamlit, FastAPI 등 다양한 기술을 단계적으로 다루고 있다.
책은 다음과 같은 특징을 가진다
- 개발환경 설정부터 시작: MacOS/Windows 기반 Ubuntu 개발환경, Git, Python, MySQL, Docker까지 다룬다.
- ETL 전 과정 실습: CSV/Excel/JSONL/Web Crawling/API 등 다양한 데이터 소스로부터 데이터를 추출하고, 파이썬과 NumPy/Pandas를 통한 변환, MySQL/NoSQL 적재를 실습한다.
- 멀티스레딩과 최적화: 파이썬 GIL 한계와 우회 전략, 병렬/동시성 처리 기법을 실제 코드와 함께 설명한다.
- 데이터베이스 심화: MySQL 주요 문법, ERD 설계, 파티셔닝, NoSQL 비교, MongoDB 활용법까지 포함한다.
- 실전 프로젝트: DuckDB와 Milvus를 연계한 벡터 검색, Streamlit 기반 이미지 검색, FastAPI 웹앱 구축으로 이어지는 엔드투엔드 ETL 파이프라인 구축을 경험할 수 있다.
데이터 엔지니어링의 핵심인 ETL(Extract, Transform, Load) 과정을 중심으로, Python과 MySQL, Docker, MongoDB, DuckDB, Milvus, Streamlit, FastAPI 등 다양한 기술을 단계적으로 다루고 있다.
책은 다음과 같은 특징을 가진다
- 개발환경 설정부터 시작: MacOS/Windows 기반 Ubuntu 개발환경, Git, Python, MySQL, Docker까지 다룬다.
- ETL 전 과정 실습: CSV/Excel/JSONL/Web Crawling/API 등 다양한 데이터 소스로부터 데이터를 추출하고, 파이썬과 NumPy/Pandas를 통한 변환, MySQL/NoSQL 적재를 실습한다.
- 멀티스레딩과 최적화: 파이썬 GIL 한계와 우회 전략, 병렬/동시성 처리 기법을 실제 코드와 함께 설명한다.
- 데이터베이스 심화: MySQL 주요 문법, ERD 설계, 파티셔닝, NoSQL 비교, MongoDB 활용법까지 포함한다.
- 실전 프로젝트: DuckDB와 Milvus를 연계한 벡터 검색, Streamlit 기반 이미지 검색, FastAPI 웹앱 구축으로 이어지는 엔드투엔드 ETL 파이프라인 구축을 경험할 수 있다.
목차
# Table of Contents
들어가며** ....................................
10
Chapter 1.
개발환경 설정 (p.12)
- Ubuntu 24.02 LTS 개발환경 설정 (MacOS) ...........
12
- Ubuntu 24.02 LTS 개발환경 설정 (Windows) .........
16
- 포트포워딩(Port Fowarding) ......................
17
- Git 설정하기 ....................................
20
- Python 개발환경 설정 ............................
23
- MySQL 설치 및 기본 설정 ........................
28
- Docker 설치 및 설정 ............................
35
Chapter 2. ETL 을 위한 Python 기초 문법 (p.41)
- ETL 개요 .......................................
41
- 왜 ETL 에 파이썬을 사용할까? ....................
42
- 예시 1 : 서버 로그 데이터 모으기 ................
45
- 예시 2 : API 연동을 통한 데이터 추출 ............
46
- 멀티스레딩을 위한 파이썬 기초 문법 ..............
47
Chapter 3.
파이썬 멀티스레딩 (p.53)
- 스레드 생성 및 관리의 기초 ........................
54
- 파이썬 GIL 과 병렬 처리의 한계 ..................
61
- GIL 우회 및 효율적인 병렬/동시성 처리 전략 ........
62
- 단일 프로세스 vs 멀티 프로세스 ..................
65
Chapter 4.
데이터 추출(Extract) (p.71)
- CSV 파일 기반 데이터 추출 ........................
71
- Excel 기반 데이터 추출 ...........................
84
- JSONL 기반 데이터 추출 ...........................
92
- Web Crawling (requests, BeautifulSoup) ........
105
- OpenWeatherMap API Crawling ..................
118
- MySQL 데이터 수집 ..............................
129
Chapter 5.
MySQL 주요 문법 (p.144)
- MySQL 의 핵심 역할 탐색 ..........................
144
- MySQL Tutorial 소개 .............................
147
- Sample Database 생성 ............................
148
- ERD 개념 및 활용 방안 ...........................
151
- MySQL 주요 문법 ................................
156
- 아파트 실거래가 연도별 데이터 수집 파티셔닝 ......
174
- 파티셔닝된 데이터를 활용한 효율적인 분석 ..........
179
Chapter 6.
데이터 변환(Transform) (p.186)
- 문자열 데이터 처리(String Processing) ...........
188
- 정규 표현식의 이해와 활용 .......................
190
- NumPy 벡터화 원리, 필요성, 구현 ..................
196
- Pandas 와 NumPy 벡터화 벤치마크 분석 ............
202
- NumPy 활용한 결측치 처리 ........................
209
- 데이터 프레임 처리 ? 컬럼 변형 및 타입 변환 .......
231
- 데이터 프레임 처리 ? 날짜 및 시간 처리 ..........
243
- 시계열 데이터 프레임 다루기 실전 예제 ............
265
Chapter 7.
데이터 적재(Load) (p.274)
- ETL 에서 적재(Load)의 필요성 ....................
274
- 파이썬과 데이터베이스의 만남 ....................
275
- 실무 로그 데이터 수집 및 처리 ...................
294
- Parquet 에서 MySQL 로그데이터 저장 ..............
308
- NoSQL 데이터베이스 비교 분석 ....................
312
- MongoDB 를 활용한 에러 로그 저장 ................
318
Chapter 8. ETL 파이프라인 구축과 벡터 검색 실전 예제 (p.346)
- 전체 시스템 개요 ................................
346
- 다중 데이터베이스 접근 방식 .....................
347
- 주요 핵심 기술 및 역할 ..........................
348
- 데이터 수집 과정(Extract) ........................
349
- 데이터 변환 및 적재 과정(Transform & Load) ......
361
- DuckDB 와 Milvus 적재 이원화 ....................
393
- Streamlit 이미지 검색 예제 ......................
400
- FastAPI 와 Streamlit 활용한 웹앱 구축 ............
403
들어가며** ....................................
10
Chapter 1.
개발환경 설정 (p.12)
- Ubuntu 24.02 LTS 개발환경 설정 (MacOS) ...........
12
- Ubuntu 24.02 LTS 개발환경 설정 (Windows) .........
16
- 포트포워딩(Port Fowarding) ......................
17
- Git 설정하기 ....................................
20
- Python 개발환경 설정 ............................
23
- MySQL 설치 및 기본 설정 ........................
28
- Docker 설치 및 설정 ............................
35
Chapter 2. ETL 을 위한 Python 기초 문법 (p.41)
- ETL 개요 .......................................
41
- 왜 ETL 에 파이썬을 사용할까? ....................
42
- 예시 1 : 서버 로그 데이터 모으기 ................
45
- 예시 2 : API 연동을 통한 데이터 추출 ............
46
- 멀티스레딩을 위한 파이썬 기초 문법 ..............
47
Chapter 3.
파이썬 멀티스레딩 (p.53)
- 스레드 생성 및 관리의 기초 ........................
54
- 파이썬 GIL 과 병렬 처리의 한계 ..................
61
- GIL 우회 및 효율적인 병렬/동시성 처리 전략 ........
62
- 단일 프로세스 vs 멀티 프로세스 ..................
65
Chapter 4.
데이터 추출(Extract) (p.71)
- CSV 파일 기반 데이터 추출 ........................
71
- Excel 기반 데이터 추출 ...........................
84
- JSONL 기반 데이터 추출 ...........................
92
- Web Crawling (requests, BeautifulSoup) ........
105
- OpenWeatherMap API Crawling ..................
118
- MySQL 데이터 수집 ..............................
129
Chapter 5.
MySQL 주요 문법 (p.144)
- MySQL 의 핵심 역할 탐색 ..........................
144
- MySQL Tutorial 소개 .............................
147
- Sample Database 생성 ............................
148
- ERD 개념 및 활용 방안 ...........................
151
- MySQL 주요 문법 ................................
156
- 아파트 실거래가 연도별 데이터 수집 파티셔닝 ......
174
- 파티셔닝된 데이터를 활용한 효율적인 분석 ..........
179
Chapter 6.
데이터 변환(Transform) (p.186)
- 문자열 데이터 처리(String Processing) ...........
188
- 정규 표현식의 이해와 활용 .......................
190
- NumPy 벡터화 원리, 필요성, 구현 ..................
196
- Pandas 와 NumPy 벡터화 벤치마크 분석 ............
202
- NumPy 활용한 결측치 처리 ........................
209
- 데이터 프레임 처리 ? 컬럼 변형 및 타입 변환 .......
231
- 데이터 프레임 처리 ? 날짜 및 시간 처리 ..........
243
- 시계열 데이터 프레임 다루기 실전 예제 ............
265
Chapter 7.
데이터 적재(Load) (p.274)
- ETL 에서 적재(Load)의 필요성 ....................
274
- 파이썬과 데이터베이스의 만남 ....................
275
- 실무 로그 데이터 수집 및 처리 ...................
294
- Parquet 에서 MySQL 로그데이터 저장 ..............
308
- NoSQL 데이터베이스 비교 분석 ....................
312
- MongoDB 를 활용한 에러 로그 저장 ................
318
Chapter 8. ETL 파이프라인 구축과 벡터 검색 실전 예제 (p.346)
- 전체 시스템 개요 ................................
346
- 다중 데이터베이스 접근 방식 .....................
347
- 주요 핵심 기술 및 역할 ..........................
348
- 데이터 수집 과정(Extract) ........................
349
- 데이터 변환 및 적재 과정(Transform & Load) ......
361
- DuckDB 와 Milvus 적재 이원화 ....................
393
- Streamlit 이미지 검색 예제 ......................
400
- FastAPI 와 Streamlit 활용한 웹앱 구축 ............
403
GOODS SPECIFICS
- 발행일 : 2025년 09월 02일
- 쪽수, 무게, 크기 : 408쪽 | 148*210mm
- ISBN13 : 9791112052599
You may also like
카테고리
한국어
한국어