AWS Glue
Glue는 흩어진 원천 데이터를 찾아 스키마를 정리하고 다음 분석 저장소에 맞게 변환하는 데이터 준비 계층입니다. 카탈로그와 ETL 작업을 함께 관리해 데이터 레이크를 읽을 수 있는 구조로 만듭니다.
▶아키텍처 다이어그램
📊 데이터 흐름 다이어그램점선 애니메이션은 데이터 또는 요청의 흐름 방향을 나타냅니다
S3에는 파일이 많은데 테이블 스키마와 파티션이 제각각이면 조회 도구가 매번 다른 해석을 합니다. 원본을 찾아 정리하고 변환하는 단계가 없으면 데이터 레이크가 금방 파일 창고로만 남습니다.
초기 데이터 파이프라인은 배치 스크립트와 테이블 정의가 여러 곳에 흩어져 유지보수가 어려웠습니다. 특히 서로 다른 팀이 만든 데이터 소스들은 컬럼 이름이 달리 쓰이거나 타입이 맞지 않아, 한 소스의 스키마가 바뀌면 파이프라인이 중단되고 원인을 찾는 데 시간이 걸렸습니다. 소스마다 변환 스크립트를 따로 작성하고 수동으로 유지보수하는 방식은 소스가 늘수록 감당하기 어려워졌습니다. 그래서 스키마 카탈로그와 ETL을 통합해 주는 Glue 같은 서비스가 중요해졌습니다.
Glue는 크롤러로 데이터 소스를 탐색해 스키마를 자동으로 감지하고, 감지한 메타데이터를 Data Catalog에 등록합니다. 그 다음 ETL 잡이 카탈로그에 기록된 스키마를 기반으로 원천 데이터를 읽어 정제·변환하고, 최종 결과를 S3나 Redshift 같은 타겟 저장소에 적재합니다. 데이터 소스 크롤링 → 스키마 카탈로그화 → 변환 잡 실행 → 타겟 저장소 적재로 이어지는 흐름 안에서 각 단계가 앞 단계 결과에 의존하기 때문에, 스키마 탐지와 ETL이 하나의 서비스 안에 묶여 있습니다.
Glue와 Athena는 둘 다 데이터 레이크와 가깝지만 역할이 다릅니다. Glue는 메타데이터 정리와 ETL 준비를 담당하고, Athena는 그 결과를 SQL로 조회하는 데 강합니다. 스키마를 정리하고 데이터를 변환하는 준비 단계가 문제면 Glue를 보고, 이미 있는 데이터를 바로 질의하는 단계가 문제면 Athena를 보면 됩니다.
데이터 레이크 정제, 스키마 탐지, 배치 변환, 웨어하우스 적재 준비에 적합합니다. 변환 없이 바로 SQL로 탐색하는 것이 목적이면 맞지 않습니다.