Flink 编程模型

一、抽象级别

Flink提供了不同级别的抽象,以及开发流处理和批处理作业

Programming levels of abstraction

1、最底层的抽象仅仅提供了有状态流,通过过程函数(Process Function)嵌入到DataStream中 API中,用户可以自由的处理来自一个或者多个数据流的事件,并使用一致的容错的状态

2、DataStream API(有界或者无界数据集)以及DataSet api无界数据集

3、table API 以表为中心声明式DSL

4、flink最高级的抽象就是sql

 

二、窗口

  1. 滚动窗口(没有重叠)
  2. 滑动窗口(有重叠)
  3. 会话窗口(由不活动间隙所打断)

Time- and Count Windows

 

三、时间

  1. 事件时间:是事件创建的时间,它通常由事件中的时间戳描述,例如附接在生产传感器,或者生产服务,flink通过时间戳分配器访问事件时间戳
  2. 摄入时间:是事件进入flink的数据源计算都得时间
  3. 处理时间:每一个执行是事件的时间

四、有状态操作

  1. 尽管数据流中很多操作一次只查看一个独立的事件,有些操作却会记录多个事件的时间,这些操作被称为有状态的

五、容错检查点

  1. flink的流重放与checkpoint的结合实现了容错,checkpoint与每一个数据流及其相关的每一个算符的状态的特定先关联,一个数据流可以从一个checkpoint恢复出来,其中通过恢复算符状态并从检查点重放事件以保持一致性

六、流上的批处理

  1. Dataset api 中的程序不使用检查点,而通过完全的重放流来恢复,因为数据是有界的
  2. Dataset api中的有状态操作使用简化的im-memory/out-of-core数据结构,而不是键值索引
  3. Dataset api引入了特殊的同步(基于superstep的)迭代,而这种迭代仅仅能够在有界流上执行

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值