데이터 분석 66일
✅ 스파크(Spark) 핵심 요약
1. 왜 스파크?
- 대용량 데이터 처리에 특화된 도구
- 여러 컴퓨터로 나눠서 동시에 처리 가능 (분산처리)
- 파이썬 기반인 Pyspark 사용 → 배우기 쉬움
2. 언제 스파크가 필요함?
- 보통 100GB 이상의 데이터 다룰 때
- 한 대의 컴퓨터로 안 돌아갈 때
- 특히 분할이 어려운 데이터 (예: 그래프 데이터)는 스파크가 필수
3. 왜 안 쓰기도 함?
- 비쌈, 설정 복잡, 코드 재작성 필요
- 그래서 데이터가 작거나, 쪼갤 수 있으면 다른 방법으로 처리하기도 함
4. 파이썬도 터질 수 있음
- 이유 없이 에러 나면 대부분 메모리 부족
- 데이터가 RAM에 못 올라가서 생기는 문제
5. 데이터 타입이 중요함
| 타입 | 특징 | 팁 |
|---|
| 정수 | int8~int64 | 작게 쓸수록 메모리 절약 |
| 소수 | float16~float64 | 정확도 vs 속도/메모리 |
| 문자열 | 제일 무거움 | → category로 바꾸면 가벼움 |
| 날짜 | 내부는 숫자 | 포맷/타임존 주의 |
6. 파일 형식 뭐 써야 함?
| 형식 | 언제 쓰나 | 특징 |
|---|
| CSV | 기본, 공유용 | 느리고 무거움 |
| JSON | API, 개발용 | 구조화됨, 무거움 |
| Pickle | 개인용 | 빠름, 협업에는 불편 |
| Parquet | 대용량 표준 | 빠르고 가벼움, 스파크와 찰떡궁합 |
7. 클라우드는 왜 쓰나?
- 여러 대의 컴퓨터를 빌리기 쉬움
- 보통 스파크는 클라우드에서 돌림 (AWS, GCP 등)
- 저장은 S3, 연산은 EMR/EC2, DB는 RDS/Athena
🎯 요약 한줄
"스파크는 대용량 데이터를 여러 대의 컴퓨터로 빠르게 처리하는 도구. 작으면 안 써도 됨. 크면 거의 필수."