Flink學習筆記——Execution Mode

Flink有3中運行模式,分別是STREAMING,BATCH和AUTOMATIC

Ref

https://ci.apache.org/projects/flink/flink-docs-release-1.12/zh/dev/datastream_execution_mode.html

1.STREAMING運行模式 是DataStream默認的運行模式

2.BATCH運行模式 也可以在DataStream API上運行

3.AUTOMATIC運行模式 是讓系統根據source類型自動選擇運行模式

可以通過命令行來配置運行模式

bin/flink run -Dexecution.runtime-mode=BATCH examples/streaming/WordCount.jar

也可以在代碼中配置

StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
env.setRuntimeMode(RuntimeExecutionMode.BATCH);

 

STREAMING運行模式中,Flink使用StateBackend來控制狀態存儲和checkpoint的工作,RocksDBStateBackend支持增量Checkpoint,其他2個不支持

BATCH運行模式中,statebackend是被忽略的,batch模式不支持checkpoint

Flink支持3種狀態後端(StateBackend),其中

1.MemoryStateBackend
2.FsStateBackend
3.RocksDBStateBackend

StateBackend可以參考

【flink】flink狀態後端配置-設置State Backend

Flink 小貼士 (4): 如何選擇狀態後端

  

STREAMING運行模式中,flink使用checkpoint來進行容錯,checkpoint參考

https://ci.apache.org/projects/flink/flink-docs-release-1.12/zh/dev/stream/state/checkpointing.html

BATCH運行模式中,flink會回滾到到之前的stage,只有失敗的task纔會重啓,這比從checkpoint重啓所以的task要高效,所以建議如果任務能在BATCK運行模式下運行,就使用BATCH運行模式

 

Broadcast State

1. STREAMING運行模式,一個典型應用就是允許一個控制流接收一個rules,並將其廣播到其他的stream中

2. BATCH運行模式不支持

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章