Flink跟Spark Streaming的區別

2022-07-08 03:51:10 字數 679 閱讀 1898

1)架構模型spark streaming 在執行時的主要角色包括:master、worker、driver、executor,flink 在執行時主要包含:jobmanager、taskmanager和slot。

2)任務排程spark streaming 連續不斷的生成微小的資料批次,構建有向無環圖dag,spark streaming 會依次建立 dstreamgraph、jobgenerator、jobscheduler。flink 根據使用者提交的**生成 streamgraph,經過優化生成 jobgraph,然後提交給 jobmanager進行處理,jobmanager 會根據 jobgraph 生成 executiongraph,executiongraph 是 flink 排程最核心的資料結構,jobmanager 根據 executiongraph 對 job 進行排程。

3)時間機制spark streaming 支援的時間機制有限,只支援處理時間。 flink 支援了流處理程式在時間上的三個定義:處理時間、事件時間、注入時間。同時也支援 watermark 機制來處理滯後資料。

4)容錯機制對於 spark streaming 任務,我們可以設定 checkpoint,然後假如發生故障並重啟,我們可以從上次 checkpoint 之處恢復,但是這個行為只能使得資料不丟失,可能會重複處理,不能做到恰好一次處理語義。flink 則使用兩階段提交協議來解決這個問題。

flink學習 flink架構

flink結構 graph 2個併發度 source為1個併發度 的sockettextstreamwordcount四層執行圖的演變過程 jobgraph streamgraph經過優化後生成了 jobgraph,提交給 jobmanager 的資料結構。executiongraph jobman...

flink 三 flink批處理

datasource型別運算元 val environment executionenvironment executionenvironment.getexecutionenvironment 支援多種collection的具體型別 val datasource1 dataset string e...

Flink筆記11 Flink時間語義

在flink 的流式處理中,會涉及到時間的不同概念,如下圖所示 乙個例子 電影 星球大戰 在這個例子中,事件時間 事情真正傳送的時間 星球大戰1 星球大戰2 星球大戰3 星球大戰4 處理時間 電影拍攝時間 星球大戰4 星球大戰5 星球大戰6 星球大戰1 例如,一條日誌進入flink 的時間為2017...