logo
logo
쿠팡이츠 데이터 플랫폼
코드너리  |  2022. 10. 11
실시간 스트리밍
데이터 분류
데이터 파이프라인
ML 파이프라인
사용된 기술:
kafka-image
spark-image
hive-image
content

1. 비실시간 (None real-time):

  1. 데이터 동기화 정보를 메타데이터 관리 시스템에서 정의하기. 전체 피처 그룹을 정의할 수도 있는데, 여기에 구체적인 비즈니스 시나리오를 위해 미리 정의된 피처, 그리고 피처 및 Hive 테이블 열(column) 간의 매핑 관계를 포함시킬 수 있음.
  2. 제네릭(generic) Spark SDK를 제공해 Hive 데이터를 읽고, 미리 정의된 메타데이터와 매핑 설정에 따라 피처를 온라인 피처 스토어(feature store)와 동기화.
  3. 작업 스케줄러에 Spark 잡(job)을 생성하고 SDK를 참조해 데이터를 온라인 저장소와 자동으로 동기화.

2. 근실시간 (Near real-time, ≥ 30s):

  1. 업스트림 Kafka 메시지를 OLAP 엔진으로 인제스천하거나, 클라우드 저장소에 있는 Hive 테이블 데이터를 읽어들이기.
  2. 설정된 간격(30초에서 1시간 사이)에 따라 OLAP 엔진 SQL 실행하기. 이 단계에서 실시간 데이터가 저장되는 Kafka나 클라우드 저장소에서 인제스천되었던 여러 테이블 소스(source)를 조인(join)해 와이드 테이블(wide table) 만들기.
  3. 이전 단계에서 생성된 와이드 테이블들을 활용해, 데이터 사이언티스트는 근실시간 지표 및 시그널을 생성하는 OLAP 엔진 및 SQL 작업을 스케줄링
  4. 작업 스케줄러가 정의된 간격에 따라 SQL을 실행. 생성된 시그널을 Kafka 컨슈머에게 다운스트림으로 보내거나 데이터 스토리지에 쓰기.

3. 완전 실시간 (Pure real-time):

  1. 필요한 데이터를 Kafka 토픽에 인제스천.
  2. 실시간 피처 메타 설정을 바탕으로 이벤트 데이터를 브로드캐스트 시스템을 통해 각기 다른 다운스트림 운영자(downstream operator)에 동적으로 분할(dynamic partition)함.
  3. 피처 메타데이터의 정의에 따라 실시간 피처들의 값을 미리 구현된 각 집합자(aggregator)에 계산. 계산된 값을 즉시 또는 주기적으로 Kafka 또는 다운스트림 운영자으로 출력함.
Copyright © 2024. Codenary All Rights Reserved.