왜 DataStream API가 필요한가?

Table API/SQL로 대부분의 파이프라인을 만들 수 있는데도,

DataStream API가 존재하는 이유는 **“SQL로 표현하기 어려운 영역”**이 분명히 있기 때문임.

대표 케이스

  1. 이벤트 단위 정밀 제어
  2. 타이머 기반 로직 (예: N초 동안 추가 이벤트 없으면 time-out)
  3. 비정형 데이터 처리
  4. 커스텀 상태(state) 기반 로직
  5. 여러 스트림을 복잡하게 결합하거나 패턴 감지

DataStream API는 “스트림 처리의 실체를 직접 다루는 레벨”이라고 보면 됨.


DataStream API의 핵심 흐름

DataStream은 크게 이렇게 흘러감:

Source → Transformation → Sink

Transformation 안에서 다음을 다룸: