consuming, streaming
consuming
- 스트림으로부터 데이터에 접근하는 것은 스트림 소비 (consuming the stream)
sink
- 외부에 데이터를 쓰는데 사용되는 추상화는 streaming sink
- 스트림의 모든 요소에 대해 동일한 방식으로 계산
집계 (aggregation)
- 많은 요소와 현재까지 환찰된 스트림의 모든 요소에 의존하는 결과를 생성
- ex) 입력 스트림 중 상위 5개 숫자를 수집
- ex) 매 10부마다 일부 판독값의 평균을 계산
Window
- 규칙적이고 반복적인 시간 기반의 집계
- '각 x 기간의 그룹화 함수' 로 표현
텀블링 윈도우 (Tumbling windows)
슬라이딩 윈도우 (Sliding windows)
- 집계 기간보다 더 높은 빈도로 보고되는 일정 기간 동안의 집계
- 겹칠 수 있음
- 이동 평균 (moving average)
- 보고 빈도 = 윈도우 크기 -> 텀블링 윈도우
- 텀블링 윈도우는 슬라이딩 윈도우의 특별한 경우로 볼 수 있음
상태 기반 스트림 처리 (Statefal stream processing)
- 입력 데이터의 '상태' 를 저장하여 새 스트림의 요소 연산에 활용
- ex) 요소의 실행 평균, 표준편차를 계산 후 새 요소가 평균보다 5 표준편차보다 멀면 메시지 출력
- ex) 피보나치 수열을 계산하기 위해 과거 숫자의 합을 '상태' 로 저장하여 활용
- Spark 에서 '상태' 는 임의의 date type일 수 있음.