Dataflow로 컬리의 준실시간 수요 예측모델 파이프라인 구축하기 - 1편
한수진 · 컬리 · 컬리 기술 블로그
소개
Dataflow 서비스 잘 이해하기
AI 핵심 요약
컬리의 통계 기반 수요 예측 모델은 1년치 과거 데이터와 최신 주문 정보를 함께 활용해야 해, BigQuery를 기반으로 준실시간 서빙 파이프라인을 구축할 필요가 있었다. 팀은 자동 확장과 리밸런싱을 지원하는 관리형 서비스 Dataflow를 선택하고, Apache Beam이 파이프라인 모델을 정의하며 Dataflow가 이를 실행하는 구조와 작업의 준비·실행 단계를 설명한다. 반복 배포를 위해 Python 파이프라인을 도커 이미지와 GCS 스펙 파일로 묶은 Flex 템플릿을 만들고, GitHub Actions에서 이미지 빌드와 템플릿 배포를 자동화했다. 배치 작업은 런칭 지연을 고려해 주기를 정하고, 스트리밍에는 Streaming Engine과 올바른 서비스 계정 권한을 검토해야 한다는 점을 PoC 경험에서 얻었다.
- Apache Beam은 배치·스트리밍 파이프라인의 프로그래밍 모델이고, Dataflow는 이를 실행하는 관리형 런타임이다.
- BigQuery는 유한한 데이터를 다루므로 스트리밍 모드로 실행해도 지속적으로 새 데이터를 읽지 않는다.
- Flex 템플릿은 파이프라인 도커 이미지와 GCS의 템플릿 스펙 파일로 구성해 재사용할 수 있다.
- requirements.txt에 apache-beam을 중복 설치하면 런칭이 느려질 수 있으므로 Dockerfile에서 SDK 버전을 관리한다.
- 권한 오류를 진단할 때는 worker service account뿐 아니라 작업 시작 단계에서 쓰이는 Dataflow service agent도 확인한다.
비슷한 학습 자료
추천 시스템 with DataFlow: 대규모 데이터 파이프라인 구성 | 2025 당근 GCP 밋업
당근테크 · YouTube
컬리의 Virtual 물류 센터
박수형 · 컬리 기술 블로그
컬리의 BigQuery 도입기 - 2부
허재진 · 컬리 기술 블로그
컬리의 BigQuery 도입기 - 1부
허재진 · 컬리 기술 블로그
데이터사이언스팀이 예측모델을 개발하고 운영하는 방법을 소개합니다.
송훈화 · 컬리 기술 블로그
컬리는 물류 최적화 문제를 어떻게 풀고 있을까? - 2부
강동윤 · 컬리 기술 블로그