피드로 돌아가기
Dev.toAI/ML
원문 읽기
Medallion Architecture 기반 수십억 건 데이터 스케일의 Feature Engineering 파이프라인 구축
Azure Databricks for MLOps and Feature Engineering at Scale with Apache Spark, Delta Lake, and MLflow
AI 요약
Context
수십억 건의 대규모 데이터셋 처리 시 Pandas 기반의 단일 노드 처리 방식으로는 메모리 및 연산 한계 직면. 원천 데이터의 잦은 변경과 복잡한 Feature 정의 수정 시 데이터 재처리 비용 및 모델 재현성 확보의 어려움 발생.
Technical Solution
- 데이터 정제 단계의 모듈화를 위한 Medallion Architecture(Bronze-Silver-Gold) 채택으로 파이프라인 유연성 확보
- Bronze Layer의 Append-only 설계를 통한 원천 데이터 보존 및 장애 발생 시 소스 재수집 없는 데이터 Replay 구현
- Silver Layer에서 Delta Lake의 MERGE 구문을 활용한 Idempotency 보장 및 중복 제거를 통한 Canonical Dataset 구축
- Gold Layer의 Window Function 및 Aggregation 기반 Feature 생성과 Z-Ordering 최적화를 통한 쿼리 성능 극대화
- MLflow와 Delta Lake Versioning의 결합을 통한 특정 Feature Snapshot과 학습 모델 간의 1:1 매핑 및 추적성 확보
- Databricks Runtime의 Auto-scaling 및 Shuffle Partition 최적화로 연산 부하 변동성에 대응하는 리소스 효율성 달성
실천 포인트
- 데이터 재처리를 위해 원천 데이터 레이어(Bronze)는 절대 수정하지 않는 Append-only 정책 적용 - 대규모 Table 조회 성능 향상을 위해 빈번한 필터링 컬럼 기준의 Z-Order 최적화 수행 - 모델 재현성 및 규제 준수를 위해 MLflow Run에 Delta Lake Version 정보를 반드시 기록 - 연산 집약적인 Feature Engineering 작업 시 Fixed Size Cluster 대신 Auto-scaling 설정 검토