wordpress home url優(yōu)化落實(shí)防控措施
窗口(Window)是處理無(wú)界流的關(guān)鍵所在。窗口可以將數(shù)據(jù)流裝入大小有限的“桶”中,再對(duì)每個(gè)“桶”加以處理。
目錄
時(shí)間概念
窗口類型
窗口劃分
窗口的生命周期
Window Assigners
窗口函數(shù)
Triggers 窗口觸發(fā)器
Evictor 數(shù)據(jù)剔除器
Allowed Lateness
旁路輸出
時(shí)間概念
在有狀態(tài)流處理中,時(shí)間在計(jì)算中起著重要的作用。當(dāng)進(jìn)行時(shí)序分析、基于特定時(shí)間段(通常指窗口)進(jìn)行聚合時(shí),都會(huì)引入時(shí)間概念:
- 處理時(shí)間(Processing time):
處理時(shí)間是指執(zhí)行相應(yīng)操作的機(jī)器的系統(tǒng)時(shí)間。每小時(shí)處理時(shí)間窗口將包括在系統(tǒng)時(shí)鐘指示整小時(shí)之間到達(dá)的所有記錄。例如,如果應(yīng)用程序在上午 9:15 開始運(yùn)行,則第一個(gè)小時(shí)處理時(shí)間窗口將包括上午 9:15 到上午 10:00 之間處理的事件,下一個(gè)窗口將包括早上 10:00 到上午 11:00 之間處理的事情,依此類推。 處理時(shí)間是最簡(jiǎn)單的時(shí)間概念,不需要流和機(jī)器之間的協(xié)調(diào)。它提供了最好的性能和最低的延遲。然而,在分布式和異步環(huán)境中,處理時(shí)間并不能提供確定性,因?yàn)樗菀资艿接涗浀竭_(dá)系統(tǒng)的速度、記錄在系統(tǒng)內(nèi)之間流動(dòng)的速度等因素影響。
- 事件時(shí)間(Event Time):
事件時(shí)間是每個(gè)單獨(dú)事件在其產(chǎn)生設(shè)備上發(fā)生的時(shí)間。這個(gè)時(shí)間通常在記錄進(jìn)入 Flink 之前嵌入到記錄中,并且可以從每個(gè)記錄中提取該事件時(shí)間戳。在事件時(shí)間中,時(shí)間的進(jìn)度取決于數(shù)據(jù)。事件時(shí)間程序必須指定 Watermark,這是通知事件時(shí)間進(jìn)度的機(jī)制。這種 Watermark 機(jī)制將在下一節(jié)實(shí)驗(yàn)中進(jìn)行描述。