티스토리 뷰

BigData/Spark

데이터 스트리밍 개념

Sh.TK 2017. 3. 28. 18:15

  • Bounded Data: 데이터가 저장되고 변경이 없는 데이터.
  • Unbounded Data: 데이터가 정해져 있지 않고 계속 추가되는 데이터.
    • 처리방법
      • 배치: 일정 시간 단위로 모은뒤 처리.
      • 스트리밍 처리: 실시간으로 처리
        • 에로사항: 데이터가 시스템에 도착하는 순서가 일정하지 않으므로, 처리하는 것이 배치에 비해 복잡함.
        • 종류
          • Time agnostic: 들어오는 데로 처리하는 방식
          • Filtering: 특정데이터만 필터링 해서 저장하는 방식
          • Inner joins: 값을 서로 비교하여 매칭 시켜 값을 구하는 방식
          • Approximation algorithms: 근사치로 값을 구하는 방식. 사용하는 알고리즘 종류로는 K-means나 Approximate Top-N등이 있다.
          • Windowing: 일정 시간 간격으로 처리하는 방식
            • Fixed Windowing: 윈도우 사이즈가 10분일때, 1시 10분은 1시부터 1시10분 각 10분단위로 데이터를 처리하는 방식
            • Sliding Windowing: 윈도우가 움직이는 개념으로 +-N 시간 전후의 데이터를 매 M 시간마다 추출하는 방식
              (M: Size, N: Period)


          • Session: 사용자가 일정 기간동안 반응이 없는 경우. 세션 시작부터 반응이 없는 시간까지 한 세션으로 묶어서 처리하는 방식


      • 시간대별 Window 처리 방식
        • Processing time based windowing: 데이터(Processing)가 도착한 순서대로 처리하는 방식
        • Event time based windowing: 데이터(Event)가 도착한 순서대로 처리하는 방식
          • 문제점: 규칙적으로 들어오는 경우가 없어(네트워크 환경, IO입출력시간 등..) 데이터의 도착 시작이 일정하지 않고, 데이터가 들어오는 순서가 일정하지 않다.


            해당 이미지는 12시부터 13시(and 11시부터 12시)에 들어온 Processing데이터를 11시부터 12시(10시부터 11시)의 Window에 데이터를 반영해야되는 상황을 나타내는 이미지.
          • 고려사항
            • Buffering: 늦게 도착한 데이터 처리를 위해, 메모리나 별도의 디스크 공간을 사용하여 Window를 일정시간 유지해야한다.
            • Completeness: 언제 모든 데이터를 도착하여 완료되는지. 현실적으로 정확한 시간은 알기 어렵기 때문에, 어림잡아 짐작할 수 있는 방법을 이용한다.(ex.워터마크 기법)


'BigData > Spark' 카테고리의 다른 글

Spark Transformations & Actions (API)  (0) 2017.03.29
mapValues/reduceByKey 예시  (0) 2017.03.29
Spark 기본 개념 및 정리 (RDD)  (0) 2017.03.28
댓글
공지사항
최근에 올라온 글
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함