Oozie·Sqoop에서 Airflow·Spark로 전환, 데이터 입수 70% 단축 및 조회 성능 66배 향상
핵심 내용
Oozie와 Sqoop 기반 1,200여 개 파이프라인을 Airflow와 Spark로 전환해 입수 속도를 최대 70% 단축하고 조회 성능을 66배 향상했다.
자세히 보기
기존 Oozie와 Sqoop 기반 인프라는 지원 종료와 비직관적인 XML 관리, Small File 양산 등 기술 부채로 인해 성능 개선에 한계가 있었다. 이를 해결하기 위해 Airflow와 Spark, Parquet+Snappy 포맷을 결합한 신규 스택으로 1,200여 개 파이프라인을 전면 개편했다.
동적 추출 및 리소스 최적화
Oggre 프레임워크는 테이블 용량과 특성을 런타임에 분석해 단일/병렬 추출 모드를 동적으로 분기한다. DB 커넥션 풀 고갈을 방지하기 위해 Spark Executor 수와 코어 수에 기반한 동시 커넥션 상한을 고정하고, 파티션 키를 자동 탐색해 Data Skew를 방지한다. 또한 JDBC 추출(Phase 1)과 정렬/저장(Phase 2)을 임시 경로로 분리해 메모리 충돌을 차단함으로써, 이기종 테이블에서도 OOM 없이 안정적으로 처리한다.
성능 개선 및 파일 최적화
실측 기반 파일 개수 산정 로직을 적용해 Small File을 억제하고 Large File을 적절히 분할했다. 그 결과 특정 테이블 기준 입수 시간이 70.4% 단축되었으며, Text+Gzip 대비 Parquet+Snappy 전환으로 컬럼 단위 조회 시 성능이 최대 66.8배 향상되었다. 이는 정렬된 Row Group의 Pruning 효과와 선택적 읽기 기능 덕분이다.
운영 효율성 확보
Airflow의 Dag Factory 패턴을 적용해 공통 설정과 개별 설정을 분리하고, 커스텀 Operator를 통해 모니터링과 알림을 자동화했다. 이를 통해 개별 XML 수정 없이 템플릿 하나로 전체 파이프라인을 관리할 수 있는 확장 가능한 구조를 확보했다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.