지난 주에 우리는 데이터를 "어디서, 어떻게 가져오는가"(수집·저장)를 다뤘다. 이제 그 원시 데이터를 모델이 먹을 수 있는 형태로 가공하는 단계로 넘어간다. 이것이 변환(transformation)이며, 흔히 ETL(Extract-Transform-Load)이라 부른다. MLS-C01 시험에서 ETL은 "어떤 도구를, 어떤 규모에서, 어떤 비용·운영 부담으로 선택하는가"를 묻는 핵심 영역이다.
오늘은 AWS의 대표적인 변환 도구인 AWS Glue(서버리스 Spark)와 Amazon EMR(관리형 Hadoop/Spark 클러스터)을 비교하고, 대규모 전처리를 설계하는 안목을 기른다.
ETL은 세 글자의 합성이다.
| 단계 | 의미 | ML에서의 예 |
|---|---|---|
| Extract(추출) | 원천에서 데이터를 끌어온다 | S3, RDS, DynamoDB, 로그에서 읽기 |
| Transform(변환) | 정제·조인·집계·인코딩한다 | 결측치 처리, 범주형 인코딩, 피처 계산 |
| Load(적재) | 가공 결과를 목적지에 쓴다 | 학습용 S3 버킷, 피처 스토어에 저장 |
ML 파이프라인에서 ETL의 결과물은 곧 학습 데이터셋이다. 따라서 변환 로직의 정확성과 재현성이 모델 품질을 직접 좌우한다.
💡 관련 이론: 최근에는 ELT(Extract-Load-Transform)라는 변형도 쓰인다