flinksql 回撤流中主键发生变更的影响(group by中的值发生改变)

1 什么是回撤流

这篇文章主要谈论一个场景,简单来说:
首先我们来简单的说一下什么是回撤流,以及回撤流的底层原理,举个例子:
在这里插入图片描述

这个说的不是很清晰 ,其实倒数第二个图当作输出 比较好看出来,再bank 这一条来之后,数据结果是
hello 1
world 1
bank 1
这个时候 又来了一条hello,刚刚已经下发的hello 1 这个结果就不对了,就需要降这条结果撤回,也就是撤回一条 hello 1 下发一条 hello 2。简单的说 这就是回撤流。

我们用最常见的 ,用的最多的kafka来举例回撤流 大家可能就明白了

  • 来了一条hello数据 下发一条
    [+I] hello 1
  • 又来了一条hello,上一条撤回
    [-U] hello 1
  • 下发一条
    [+U] hello 2

其实所谓的回撤,是下发了两条数据,告诉下游 上一条我废弃了,后面这条才是现在有效的,下游所有支持回撤流的存储引擎,就会做处理,最常见的就是mysql,对于mysql来说,就是发生了一次update,来完成了这次回撤流

2 主键变更场景

那么这里引申出一个新的场景,我们接受到的数据,在之前的假设中,都是新插入数据,每一条都是新数据对吧

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Direction_Wind

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值