(한국어) AWS ML Associate (4) - ETL 파이프라인과 데이터 포맷 이해
ETL 파이프라인과 데이터 포맷 이해
1. ETL 파이프라인이란?
- ETL은 Extract, Transform, Load의 약자입니다.
→ 데이터를 추출 → 변환 → 적재하는 일련의 과정. - 주로 **데이터 웨어하우스(DWH)**로 데이터를 옮길 때 사용됩니다.
- 데이터 레이크에서는 ELT(Extract → Load → Transform) 방식이 더 일반적입니다.
2. Extract (추출)
- 정의: 원천 시스템에서 데이터를 가져오는 단계
- 데이터 출처:
- 데이터베이스 (MySQL, PostgreSQL, Oracle 등)
- CRM (예: Salesforce)
- 로그 파일
- API
- 스트리밍 데이터 (Kafka, Kinesis 등)
- 중요 고려사항:
- 데이터 무결성 보장 (중간에 손실/에러 발생 시 재시도 정책 필요)
- 처리 방식: 실시간, 근실시간(near real-time), 배치(batch)
3. Transform (변환)
- 정의: 추출한 데이터를 분석/저장하기 적합한 형태로 변환
- 주요 작업:
- 데이터 정제 (중복 제거, 오류 수정)
- 데이터 보강 (추가 정보 합치기)
- 포맷 변경 (문자열 → 날짜 형식 변환 등)
- 집계/계산 (합계, 평균 등)
- 인코딩/디코딩 (압축 해제, 암호 해제, 컬럼 포맷 변환 등)
- 결측치 처리 (제거, 평균값 대체, null 값 허용 여부 확인)
시험 포인트:
- 결측치 처리 방식은 머신러닝 모델 품질과 직결 → 평균/중앙값 대체, 삭제, 예측 기반 보간(imputation) 방법 숙지
- SageMaker Processing Job, Data Wrangler 같은 서비스 활용법도 시험에 자주 등장
4. Load (적재)
- 정의: 변환된 데이터를 **목적지(데이터 웨어하우스, 데이터 레이크 등)**에 저장
- 방법:
- 배치 적재: 일정 주기로 대량 데이터 적재
- 스트리밍 적재: 데이터가 들어오는 즉시 적재
- 중요 고려사항:
- 적재 시 데이터 무결성 확인
- 적재 실패 시 복구 전략 필요
5. ETL 파이프라인 관리
ETL 과정은 자동화와 오케스트레이션이 중요합니다.
- AWS Glue – ETL 작업 자동화 및 스케줄링
- AWS Step Functions – 워크플로우 관리
- Amazon MWAA (Managed Apache Airflow) – 복잡한 데이터 파이프라인 관리
- Amazon EventBridge – 이벤트 기반 트리거
- AWS Lambda – 서버리스 기반 데이터 처리
시험 포인트:
- Glue는 서버리스 ETL 서비스, Spark 기반 동작
- Step Functions는 상태 기반 워크플로우 관리
- MWAA는 Apache Airflow 관리형 서비스
6. 주요 데이터 소스 인터페이스
- JDBC (Java Database Connectivity)
- 자바 기반, 플랫폼 독립적, 하지만 언어(Java) 종속적
- ODBC (Open Database Connectivity)
- 드라이버 필요(플랫폼 종속), 하지만 언어 독립적
- API – 외부 시스템에서 데이터 가져오기
- 로그 파일 – 서버 로그, 애플리케이션 로그 등
- 스트리밍 데이터 – Kafka, Kinesis 등
7. 데이터 포맷 정리
CSV (Comma-Separated Values)
- 특징: 텍스트 기반, 행 단위 데이터, 구분자는
,
또는\t
- 장점: 사람이 읽기 쉬움, 이식성 높음
- 단점: 대규모 데이터 처리 시 비효율적
- 시험 포인트: Pandas, R, Excel 등에서 손쉽게 처리 가능
JSON (JavaScript Object Notation)
- 특징: 키-값 기반, 반정형(semi-structured) 데이터 표현 가능
- 장점: 유연한 스키마, 중첩 구조 지원
- 활용: API 응답, 설정 파일, NoSQL DB(MongoDB 등)
Avro
- 특징: 바이너리 포맷, 데이터와 스키마를 함께 저장
- 장점: 효율적인 직렬화(Serialization), 스키마 진화(schema evolution) 지원
- 활용: Kafka, Spark, Flink, Hadoop
Parquet
- 특징: 컬럼 지향(columnar) 저장 포맷
- 장점: 특정 컬럼만 읽기 가능 → 대규모 분석에 최적화
- 활용: Redshift Spectrum, Spark, Hive, Athena
- 시험 포인트: 분석용 최적화 포맷으로 자주 언급됨
8. 시험 대비 요약
- ETL vs ELT: DWH는 ETL, Data Lake는 ELT
- 데이터 포맷 특징 비교: CSV(단순), JSON(유연), Avro(스키마 포함), Parquet(분석 최적화)
- AWS Glue, Step Functions, MWAA: ETL 관리 핵심 서비스
- 스키마 온 라이트(schema-on-write) vs 스키마 온 리드(schema-on-read): 시험 단골
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.