티스토리 뷰
반응형
0.Event Time windows, Processing Time windows
steaming 순서에 대해 알아보는 시간이 필요하여 정리했다.
1.window funtion
- 데이터의 특정한 범위를 설정하고, 그 범위 내에서 집계 함수 등을 적용
- spark streaming에서는 time-based window만을 사용 (다른 윈도우 사용시 에러)
- 데이터를 시간적으로 나누는 범위를 설정하는 방식
- 스트리밍 데이터는 끝없이 흐르는 데이터이기 때문에, 특정 시간 단위로 데이터를 나누어 집계나 분석을 수행함
- 예를 들어, 초당 데이터를 받아오더라도, "1분 간격으로" 데이터를 묶어서 평균, 합계 등을 계산할 수 있음
크게 세가지 방식
1.1 Sliding window
1.2 Tumbling window
1.3 Session window
그리고,
window duration : window 크기 (시간기준으로 한시간, 30분짜리 윈도우를 만든다할때 크기 )
window sliding interval : window 간의 간격
1.1 Sliding window
- 고정크기에 window.
- window 간의 겸치는 구간존재
1.2 Tumbling window
- 고정크기에 window.
- window 간의 겸치는 구간이 없음 (interval = duration)
1.3 Session window
- 처음 window가 생성된 후, record / event 가 설정한 gap duration내에 들어오는 한 확장
- 만약 gap duration내에 event가 들어오지 않는다면 이 window는 끝나고, 새로운 window를 생성
2.Event time window
- event time 을 기준으로 input record를 처리
- event time?
- record 가 실제로 생성된시점. != spark streaming application에 들어온 시간
- 일반적으로 event time은 input record의 column으로 제공됨.
- Dstream에서는 event time을 기준으로 작업하는데에 제한이 있음.
- Structured Streaming에서는 window function을 제공함.
3.Processing time windows
- Processing time을 기준으로 input record를 처리
- Processing time ?
- spark stremaing application 에 들어온 시간
- 일반적으로 processing time 은 input record에 포함되어 있지않고, 아웃풋모드 current_timestamp()를 통해 생성
4. event + window (output mode = complete)
반응형
'개발' 카테고리의 다른 글
[ETL] Apache Spark - RDD vs DataFrame (0) | 2025.02.15 |
---|---|
[ETL] Apache Spark - stream(1) (2) | 2025.01.22 |
🍜 Python asyncio - 비동기 asyncio.gather / asyncio.create_task 응용편 (0) | 2024.11.07 |
🍜 Python asyncio - 웨이터와 주방으로 이해하기 (1) | 2024.11.06 |
[Vercel] Erorr: Fix the Upstream Dependency conflict (0) | 2024.07.18 |
댓글
공지사항
반응형