핵심 요약
SK플래닛은 Hadoop 기반 DIC의 파생 데이터 생성 지연 문제를 해결하기 위해 Router와 Stream-Processor를 도입해 Kafka+Spark Streaming 기반의 실시간 파이프라인을 구축했다.
구현 방법
- Router는 2개의 vertex와 edge로 구성된 directed graph 방식으로 파이프라인을 UI에서 시각화하며, source vertex는 원천 데이터 저장소, target vertex는 변환 데이터를 나타낸다.
- Connect(Kafka Connect)로 다양한 저장소에 데이터를 기록하고, Processor로 변환하며 Hive-Processor를 통해 Hive 테이블 데이터를 주기적으로 Kafka로 전송한다.
- Stream-Processor 중심으로 실시간 처리 구성: DIC 유입 데이터를 마이크로 배치로 처리하며, Spark Streaming을 사용하고 자원은 Yarn 클러스터에서 관리한다. 설정 예로 batch_duration 10, max_rate_per_partition 3000, driver_memory 6G, executor_core 5, executor_memory 6G를 적용한다.
- Kafka 원천 데이터를 Hive 테이블 형태로 활용하기 위한 스키마 정의 예시를 제공한다.
- 처리 흐름은 DStream 생성 → temp view 생성 → edge의 SQL 실행 → 포맷 변환(json/tsv/avro) → 저장소 적재(HDFS/Hive), 필요 시 Elasticsearch/S3/HBase 등으로 확장 가능하다.
- 모니터링은 3대 축으로 수행: Spark Job 정상 여부, 처리 데이터 수, Kafka 지연(LAG)을 Burrow와 Elasticsearch, Grafana로 확인한다.
- 결론적으로 배치 중심의 처리에서 실시간 처리로 전환하는 방향으로 시스템을 설계했다.
주요 결과
- 실시간 처리 도입으로 파생 데이터 생성의 지연 문제를 해결하는 기반을 마련하고, 자원 할당의 유연성과 저장소 확장성을 확보했다.

