목표
800만 건 이상의 row로 이루어진 데이터를 국가와 연 단위로 묶어 평균을 집계
단계
- 서버에서 Spark로 데이터 집계
- 집계 결과를 Redis에 저장
- Spark를 요청마다 매번 실행할 수 없으므로, 1번 계산 후 저장소 필요
문제
서버에서 전체 파이프라인 구동 시 Redis 저장이 예상보다 오래 걸림
서버(EC2)에서 실행
최적 시간
36.84초
Server 사양
4코어 CPU, 16GB 메모리
- 배치로 로딩해서 redis 저장 (저장: 30.19초, All: 47.25초)
- 전체 로딩 후 redis 저장 (저장 0.59초, All: 36.84초)
Kafka 도입 시도
- 병목 발생 지점이 spark 결과를 모두 collect하는 곳이라 판단