Flink检查点详解
创始人
2024-05-21 18:03:28

说白了就是等你要处理的这个或这波数据被所有任务(执行完所有算子)处理完了 再做检查点保存(下图就是三个数据都被map、sum处理完 就做检查点保存 source是读取数据的)

下图只是一个检查点的保存过程(拆解)这一个检查点最终保存了三个数据的偏移量和状态

 就比如几个小水杯(一个小水杯代表一个数据)往大水杯里倒水(就是保存状态)小水杯灌满,意味着这个数据被所有任务(也就是所有算子)处理完 才能往大水杯里倒水 所以当你小水杯灌水的时候 挂了 不影响大水杯 你小水杯都清空 回到大水杯上次保存的内容(上次检查点的时候)

详细步骤:

处理完前三个数据以后 做了一次检查点的保存 然后第四个第五个单词是flink和hello flink处理完 处理hello的时候挂了 如下图

 

 挂了就清空小水杯 回到上次保存检查点的内容

 这里的意思是 你在source端处理数据时处理到barrier 然后把这个barrier注入数据流 barrier就在那个触发检查点的数据旁边 你后面来的数据什么的正常来 但是前面的数据都处理完了 并且伴有barrier

可以看到 上面那个分区source处理hello、world、hello

source已经读到了三个单词 然后一个hello还没map

还有一个hello map了但是没统计sum

下面只读取一个world(不是hello) 也在map后还没统计(都在路上...)

 

 下面那个barrier还没来 说明那个触发检查点的数据还没到

背压

这样的话 因为一个barrier到了 但是另外一个分区的没到

也就是另外一个分区的数据还没到齐 就直接保存状态 不会出问题吗 不会 因为我们还保存了当前的上下文,缓冲区的数据

所以牺牲内存换低延迟

相关内容

热门资讯

北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...