어제 데이터를 S3 데이터 레이크에 수집했다. 하지만 S3에 객체를 던져 넣는 것만으로는 분석도 학습도 할 수 없다. **"이 버킷에 무슨 데이터가, 어떤 스키마로 들어 있는가?"**를 알아야 Athena로 쿼리하고 SageMaker로 학습할 수 있다. 이 메타데이터를 관리하는 것이 데이터 카탈로그이고, 데이터를 정제·변환하는 것이 ETL이다.
오늘의 주인공은 AWS Glue — 서버리스 데이터 통합 서비스다. 크롤러, 데이터 카탈로그, ETL Job, 그리고 노코드 도구 DataBrew까지 본다.
Glue Data Catalog는 Hive Metastore 호환 메타데이터 저장소다. 데이터 자체가 아니라 데이터에 대한 정보 — 테이블 이름, 컬럼, 타입, S3 위치, 파티션 — 를 저장한다.
Glue Data Catalog 구조:
Database (논리적 그룹)
└─ Table (S3 위치 + 스키마 + 파티션)
├─ Columns: customer_id (string), amount (double), ts (timestamp)
├─ Location: s3://ml-datalake/curated/transactions/
├─ SerDe: parquet
└─ Partitions: year=2026/month=06, year=2026/month=05, ...