串流處理 進階
串流處理的視窗與時間語意
請說明串流處理中的時間語意與視窗類型。
兩種時間
Event Time(事件時間):事件實際發生的時間(由事件本身攜帶)。更精確但需處理亂序問題。
Processing Time(處理時間):系統收到事件並處理的時間。簡單但可能不準確(網路延遲、重試)。
Watermark
Watermark 是 Event Time 的進度標記,告訴系統「Event Time 早於此 Watermark 的事件已全部到達」,觸發視窗計算。Watermark 容許一定的遲到容忍度。
視窗類型
Tumbling Window(翻滾視窗):固定大小、不重疊的視窗(如每 5 分鐘一個視窗)。
Sliding Window(滑動視窗):固定大小但有步長的重疊視窗(如每 1 分鐘統計過去 5 分鐘)。
Session Window(會話視窗):按活動間隔動態分組(如用戶 30 分鐘無操作則結束一個 Session)。
代表框架
Apache Flink(最強大的串流處理框架)、Apache Spark Structured Streaming、Kafka Streams。
✦ AI 模擬面試
輸入你的答案,AI 即時分析精準度與改進空間
登入後即可使用 AI 評分
