Flink 异步IO 笔记

上一章介绍了维表的LRU,主要就是用了异步IO,参考文章1参考文章2官网

类的具体实现不在介绍,主要是总结一下理论
从使用角度,异步IO其实就是来了一条数据然后调用一个线程去查询,然后线程将查询结果反馈出来。查询完成后的数据输出有两种模式无序(unorderedWait)和有序(orderedWait)。
有序比较简单:FIFO 先进先出
无序:分为ProcessingTime无序和Event Tiem的无序
ProcessingTime的无序就是查询完成后将数据发送,不考虑顺序
Event Tiem:以watermark为界限,两个watermark中的数据理解为一个集合,此集合中的数据完成查询后输出(这里是无序的)。只有集合中的数据都输出完毕才能输出watermark。watermark之间是有序的,watermark1一定在watermark2前输出,否则watermark2不输出。

实现方式都是通过队列完成的,只是不同的队列。图都来自参考文章

有序:先进先出

ProcessingTime无序:查询完成后的数据转移到另一个队列中,然后输出。

EventTime的无序:P1,P2,P3在一个集合中,waterMark是一个特殊的集合,这样保证waterMark的有序。在集合内部可以明显看出P1,P2,P3先完成的先转移到完成队列中输出。

这里的checkPoint也简单,将完成队列中还未发送的元素和等待队列中元素进行快照。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值