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

本文探讨了Flink SQL在处理回撤流时主键变更的问题,分析了当上游数据包含回撤信息时,如何影响下游数据处理。在某些场景下,主键变更会导致数据更新错误,需要通过特定策略如行号标记来触发回撤。此外,文章还讨论了实时数仓架构中应对数据变化的策略,包括Holo的分字段更新和实时流与离线流的联合处理,并指出了各自的优缺点。
摘要由CSDN通过智能技术生成

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

其实所谓的回撤,是下发了两条数据,告诉下游 上一条我废弃了,后面这条才是现在有效的,下游所有支持回撤流的存储引擎࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Direction_Wind

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

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

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

打赏作者

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

抵扣说明:

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

余额充值