大数据_Flink_Java版_Table API 和 Flink SQL(8)_聚合统计数据的_更新模式---Flink工作笔记0088

本文介绍了Flink中的更新模式,用于处理聚合统计等需要更新已有结果的场景。三种模式包括追加模式、撤回模式和更新插入模式。撤回模式通过add和retract消息实现更新,而更新插入模式则通过upsert消息处理插入和更新,确保对key的精确管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前我们说,前面我们输出table api查询或者flink sql查询后的数据,都是用的

输出到文件,或者输出到kafka中,

但是这个输出,可以看到输出的,全部都是追加的数据,就是那种简单查询的数据.

对于,我们说聚合统计的结果数据来说,使用插入肯定是不行的.因为涉及到,聚合统计,比如

计算数据的个数,获取平均数这样,这种的,得出的结果,需要首先把数据撤回,然后再生成

一个新的数据.

这里在flink中就有个模式,叫做更新模式
,可以看到:
这里有3中模式,
1.追加模式:表只是做插入操作,和外部连接器只交换插入(insert)的数据
2.然后撤回模式:
  可以看到,这种模式,表和外部连接器可以进行,添加add,以及retract消息
  插入操作,就是add消息,删除delete,就是retract消息,然后更新消息,其实就是
  上一条retract消息,加上 下一条的add消息,这两步的消息就是相当于更新消息了
  只不过采用追加两条消息实现的.
3.然后还要衶是更新插入模式:
    这里更新和插入,都会被编码为upsert消息,然后删除,其实就是delete消息

这里更新模式,可以看到其实就是:提供一个key,然后系统会去找,如果存在这个key
那么就表示这个数据存在,如果不存在这个key的话,那么就相当于追加了,这个就是
upsert数据.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

添柴程序猿

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

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

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

打赏作者

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

抵扣说明:

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

余额充值