zoukankan      html  css  js  c++  java
  • 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运行模式不支持

  • 相关阅读:
    简单测试
    纸玫瑰
    Java 字符串编码 (保存成txt测试)
    创建 Filter
    jee中文名图片+tomcat ==> 中文乱码的另类处理(未成功)
    dom4j_01_02
    dom4j_01_01
    Java 字符串编码
    websocket

  • 原文地址:https://www.cnblogs.com/tonglin0325/p/14133121.html
Copyright © 2011-2022 走看看