목록 보기
Spark Streaming을 활용한 파생 데이터 생성 시간 감축 사례
백엔드

Spark Streaming을 활용한 파생 데이터 생성 시간 감축 사례

SK플래닛
SK플래닛
2024년 10월 23일

두줄요약

Hive 배치 기반 파생 데이터 생성 지연 문제를 Spark Streaming으로 실시간 처리하도록 전환한 사례를 소개했습니다. Kafka 오프셋과 처리량, LAG 모니터링으로 안정적인 운영 방법도 함께 설명했습니다.

문제 상황

  • Hive 배치 기반 파생 데이터 생성이 +1일 이후에 이뤄져 분석과 서비스 제공이 지연되는 문제
  • 날짜 파티션 Hive 테이블 특성상 데이터가 완전히 쌓인 뒤에야 조인·변환 작업을 수행하는 구조

원인 분석

  • 배치 작업 중심의 처리 방식으로 실시간 데이터 반영이 어려운 점
  • 파생 데이터 생성 시 원천 데이터와 기존 Hive 테이블의 조인을 위해 완전 적재를 기다려야 하는 제약

해결 방법

  • Kafka로 유입되는 데이터를 Spark Streaming으로 실시간 변환하는 Stream-Processor 구성
  • Hive Query 재사용을 위해 Kafka 데이터를 Hive 테이블 형태의 temp view로 변환
  • YARN 큐 분리, 마이크로 배치 처리량 조정, 오프셋 기반 중복 방지로 운영 안정성 확보

성능/운영 포인트

  • 파이프라인별 driver·executor 리소스 조정과 batch_duration, max_rate_per_partition 설정으로 처리량 최적화
  • Spark Job 상태, 마이크로 배치 처리량, Kafka LAG를 각각 모니터링
  • Burrow와 Elasticsearch, Grafana로 지연과 이상 상태를 감지

다음 읽기

#Kafka 주제를 이어서 읽기

오픈소스 Trino를 활용한 전사 데이터 분석 시스템 구축기

SK플래닛이 오픈소스 Trino를 전사 분석 엔진으로 도입해 실시간 데이터 조회 환경을 구축했습니다. 운영계 데이터 접근성과 소용량 쿼리 성능을 높이고 리포트 주기도 단축했습니다.

SK플래닛
SK플래닛
아키텍처

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...