【Flink1.14官方文档】开发应用1、DatastreamAPI

一、概要

【Flink1.14官方文档】开发应用1、DatastreamAPI

 

 1、什么是流?

  不可变的数据集,无限的没有边界。一旦产生不可修改和移除其中的元素,可以查看内部的元素,或者做转换。

2、datasource

3、datasink

4、Iterations 

5、容错

6、控制延迟

二、执行模式

1、批处理,命令行设置

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

2、流处理,默认方式

3、执行行为,任务调度和网络shuffle的两种模式也不相同

流处理:所有任务在同一时间在线,立即持续不断的低延迟的处理新数据,taskmanage为job分配足够的资源跑所有任务在同一时间;网络shuffle,低延迟的发往下游任务节点,伴随着网络缓冲,这是因为在任务之间处理连续数据,没有可以落地的时间点。

批处理:把任务切分成阶段,一个一个处理,在送往下一个阶段,完成处理的完。分阶段处理需要Flink将任务的中间结果物化到一些非临时存储中,从而允许下游任务重新进行存储。

三、事件时间和水印

  当使用事件时间,就没办法保证数据按事件发生的时间到来的数据。

  批处理预先对输入数据是可知的

四、容错

  流处理:chickpoint

  批处理:回溯到先前的处理阶段

五、水印策略

  时间戳注册,水印生成器两个方法

  周期性生成,和来一条生成一条两种方式

六、处理状态

  

 

上一篇:SpringBoot 通用Error设计


下一篇:继承 Thread类创建线程