20분
주간 프로젝트: 프로덕션 ETL 시스템 구축
Day 5: 프로덕션 ETL 시스템 구축
주간 프로젝트: 프로덕션 ETL 시스템 구축
Apache Airflow - 워크플로우 오케스트레이션 > Day 5: 프로덕션 ETL 시스템 구축
학습 목표
프로젝트 요구사항을 이해한다 프로덕션 수준의 파이프라인 구조를 파악한다
프로젝트 시나리오
"ETL 파이프라인을 Airflow로 마이그레이션해줘. 장애가 나도 알아서 복구되고, 문제 생기면 바로 알림 와야 해."
당신은 E-commerce 회사의 데이터 엔지니어. 기존 크론탭 기반 ETL을 Airflow로 현대화하는 프로젝트를 맡았다.
요구사항
비즈니스 요구사항
-
일일 매출 데이터 처리
- 매일 새벽 3시에 전일 데이터 처리
- 주문, 고객, 상품 데이터 통합
-
주간 리포트 생성
- 매주 월요일 09:00에 주간 요약
- 경영진에게 자동 발송
-
실시간 대응
- 실패 시 5분 내 Slack 알림
- 자동 재시도 후에도 실패면 담당자 호출
기술 요구사항
| 항목 | 요구사항 |
|---|---|
| DAG 수 | 최소 3개 (extract, transform, report) |
| 재시도 | 3회, exponential backoff |
| 타임아웃 | DAG당 2시간 |
| SLA | 각 DAG별 설정 |
| 알림 | Slack (실패, SLA 위반) |
| 테스트 | DAG 구조 테스트 |
아키텍처
에디터 로딩 중...
평가 기준
| 항목 | 배점 | 기준 |
|---|---|---|
| DAG 구조 | 25% | 의존성, 모듈화, TaskGroup |
| 에러 핸들링 | 25% | 재시도, 타임아웃, 콜백 |
| 스케줄링 | 20% | Cron, Dataset, SLA |
| 코드 품질 | 15% | TaskFlow API, 가독성 |
| 문서화 | 15% | README, 주석 |
시작하기
에디터 로딩 중...
제출물:
- dags/ 폴더 (3개 DAG)
- tests/ 폴더 (테스트 코드)
- README.md