카테고리 없음

[ETL]AWS Glue와 Airflow 이해하기 | S3, Parquet | CGP BigQuery

ha_data 2025. 4. 4. 14:54

1. AWS Glue vs Airflow ? 

RDS DB를 클라우드 DW에 이관하려고 한다. 어떤게 더 적합할까? 

(1) 특성별로 비교

항목  AWS Glue Airflow
주요 역할 ETL 수행 도구 (Extract–Transform–Load) 워크플로우 오케스트레이션 도구
ETL 수행 여부 직접 수행 (Spark 기반) Python 등 외부 코드 통해 수행
기술 기반 Serverless Spark + Python Shell Python 기반 DAG (Directed Acyclic Graph)
주요 기능 데이터 추출, 정제, 변환, 적재, 크롤러, Job 관리 DAG 기반 작업 스케줄링, 재시도, 병렬처리, 조건 분기
사용 편의성 콘솔 UI에서 GUI 또는 코딩 가능 Python 코드 기반, 셋업은 복잡하나 유연함
운영/모니터링 CloudWatch, 자동 retry, Job 알림 내장 UI + Slack/email 알림 설정 가능
확장성 AWS 내에서 가장 최적화됨 다양한 외부 시스템 연동 가능 (GCP, S3, Snowflake 등)
대표 사용 예시 AWS RDS → S3 → Redshift/BigQuery 이관 테이블별 순차 이관, 조건 분기 로직, 에러 핸들링 강화된 파이프라인
요약 ETL 자체를 수행하는 플랫폼 ETL 흐름을 통제하는 감독자

(2) Airflow가 적합한 상황은?

Step A가 끝나야 B 실행 DAG에서 의존성 쉽게 설정 가능
Step 중 일부 실패 시 재시도 Retry/Failure 정책 정의 가능
Step별 조건 분기 처리 Python 코드로 유연한 분기 가능
하루에 수십 개 테이블 순차 이관 반복/템플릿화된 DAG 생성 가능

(3) Aws Glue 가 적합한 상황은?

Glue는 ETL 자체를 수행하는 도구 RDS → S3 → GCP로 데이터 추출·정제·적재까지 자동화 가능
서버리스 서버 세팅 없이 사용 가능 → 빠르게 시작 & 유지관리 쉬움
Glue Job UI 지원 파이썬 몰라도 GUI로 Job 생성 가능 (코드 수정도 가능)
AWS 서비스와 연동 최적화 RDS, S3, IAM 권한 설정 등이 AWS 내에서 seamless
단순 반복 작업에 최적 테이블 1:1 이관, 특정 칼럼 필터링 등 반복작업에 적합
비용도 상대적으로 낮음 Airflow처럼 인프라 운영 비용 거의 없음 (실행 시간 기준 과금)

 

2. S3에 파일 저장 형식 비교하기

왜 S3에 parquet 파일로 저장하는거야? 

GPT:

Parquet(파킷) 파일은 대용량 데이터를 저장하고 처리할 때 효율성이 아주 뛰어난 포맷이기 때문에,
AWS Glue에서 데이터를 S3에 저장할 때 Parquet 형식으로 저장하면
→ 저장 용량이 줄고
→ 분석 처리 속도는 빨라져서
BigQuery로 넘기거나 분석 쿼리를 돌릴 때 훨씬 유리해.

 

(1) parquet파일 특징

열(Column) 기반 저장 쿼리에서 필요한 열만 읽음 → 읽는 양 ↓ 처리 속도 ↑
압축률 높음 같은 데이터라도 Parquet가 CSV보다 2~10배 적게 저장됨
Spark/BigQuery 친화적 Glue도 Spark 기반이고, BigQuery도 Parquet를 네이티브로 처리 가능
스키마 자동 인식 컬럼명, 타입 등 자동 포함되어 있어 schema 관리 쉬움
데이터 타입 다양 지원 중첩 구조, 리스트, 딕셔너리 형태도 잘 처리함 (JSON보다 유리)
(2) Parquet vs CSV vs JSON
포맷  저장방식 용량 처리속도  적합성
Parquet 열 기반 ⬇ 매우 작음 ⬆ 매우 빠름 ✅ 대규모 분석 적합
CSV 행 기반 ⬆ 큼 ⬇ 느림 ❌ 대용량 부적합
JSON 계층형 구조 ⬆ 큼 ⬇ 느림 ⚠️ 로그, API 결과용

(3) Glue 에서 parquet 파일을 사용하는 이유

GPT
“Glue는 Spark 기반이라 열 기반 포맷인 Parquet와의 궁합이 좋고,
Parquet로 저장하면 이후 BigQuery로 적재하거나 쿼리 수행 시 처리 속도가 크게 개선됩니다.
특히 대용량 로그나 여러 테이블 이관 작업에서 효율성과 비용 절감 측면에서도 효과적이기 때문에 Parquet를 선택했습니다.”