Flink介紹
阿新 • • 發佈:2018-11-21
兩種資料集:無邊界資料集(連續不斷追加)和有邊界資料集
兩種執行模式
- 流式傳輸(Streaming) :只要資料生成,連續執行的處理
- 批處理(Batch):在有限的時間內執行並執行到完整的處理,完成後釋放計算資源
使用任一型別的執行模型來處理任一型別的資料集都是可能的,但不一定是最優的。
Flink依賴於流式處理模型,這是一種適用於處理無界資料集的流程:流執行是對連續生成的資料進行連續處理。
Flink是分散式流處理的開源框架:
提供準確的結果,即使在無序或延遲資料的情況下也是如此
具有狀態和容錯能力,可以在保持應用狀態的同時無故障地從故障中恢復
大規模執行,在數千個節點上執行,具有非常好的吞吐量和延遲特性
狀態管理,無序資料處理,靈活的視窗 - 對於Flink來說在無界資料集上計算的結果準確性至關重要.
Flink保證用於狀態計算的一次性語義。“有狀態”意味著應用程式可以維護一段時間內已處理的資料的聚合或彙總,Flink的檢查點機制可以確保在發生故障時應用程式狀態的一致性語義。
Flink支援流處理和視窗與事件時間語義,事件時間使得計算準確的結果變得容易,這些流可能產生無序資料或者資料延遲到達的情況。
除了資料驅動的視窗之外,Flink還支援基於時間,計數或會話的靈活視窗。Windows可以通過靈活的觸發條件進行定製,以支援複雜的流式傳輸模式。Flink的視窗使得可以對建立資料的環境的現實進行建模。
參考文件