flink学习笔记

1.      基本概念

Ø  认识:一个flink程序被映射为一个Stream DataFlow,分别由StreamTransformation两部分构成。

Ø  Stream:实时数据流,Redistribution模式下stream被分为很多Stream分区(StreamPartitions)。

Ø  Transformationtransformation operatoroperator可以被分为很多suboperator,在TaskManagerTaskSlot中运行,suboperator的个数等于该operator的并行度。

Ø  Task chain:对于某些suboperator,两个连续的operator操作,可以在同一个线程中运行,可以提高线程切换、资源等方面的效率。

Ø  TimeEvent Time(时间产生时间),Ingestion Time(事件进入stream dataflow时间),Processing Time(事件在某个operator被处理的本地时间)。

Ø  Window:按时间或者个数分为两种,具体的窗口类型代码中再研究其区别。

2.     组件栈

3.     架构

基本流程:

Client提交flink job请求,该jobJobGraph的形式提交,其实就是一个DAG,是流处理的一个逻辑视图,JobManager收到flink job后,生成ExecutionGraph依然是一个DAG图,只不过是并行数据流处理的物理视图,该图由Execution Vertexsintermediate Result [Partitions]组成,注意Execution的概念,是一个Operator的一次Attempt,具体流程如下图所示。

物理调度:

到目前为止,这些DAG图从某种层面上还一直都是逻辑表示, Execution Job Vertex本质上是一个suboperator操作,该实现物理分布在TaskManager机器上的TaskSlot中,TaskSlot是资源占有的一个单位,有点类似于进程,物理上Execution Job Vertex就分布在这些TaskSlot中。

4.     迭代机制

Ø  Iterator

个人理解:输入经过step函数产生迭代输出,该输出继续作为step的输入,如此迭代下去,直到迭代完成,产生迭代输出。

Ø  Delta Iterator

个人理解:增点迭代有两个流,workSetSolution SetWorkSet经过一次step迭代,增量作用到Solution Set,如此这样迭代下去。

疑问点:WorkSet大小和Solution Set是一样的吗,如果不一样怎么作用到Solution Set中,是做截断或者不起操作吗。还是说WorkSet中的每个元素是作用到整个SolutionSet上的,这样对于Solution Set,每个元素的增量其实是一样的,增量迭代应该不是这样理解的吧。

5.     容错机制(checkpoint

个人理解:每个StreamPartitions里针对每个Snapshot都会填充一个barrier,该barrier携带了snapshot的一些信息,operator收到各种stream,会根据各个stream接收到的barrier补齐一个完整的snapshot,如果所有的sink操作都完成,则通知checkpoint coordinator

备注:这块目前掌握的资料还是有些少,理解不到位

6.     Backpressure机制(其实是监控每个Suboperator的状态)


参考文档:

https://blog.csdn.net/jdoouddm7i/article/details/62039337
https://blog.csdn.net/yanghua_kobe/article/details/51298871
https://blog.csdn.net/u010022051/article/details/51481189


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值