Flink SQL 功能解密系列 —— 流计算“撤回(Retraction)”案例分析
什么是retraction(撤回)
通俗讲retract就是传统数据里面的更新操作,也就是说retract是流式计算场景下对数据更新的处理
方式。
首先来看下流场景下的一个词频统计列子。
没有retract会导致最终结果不正确↑:
下面再分享两个双十一期间retract保证数据正确性的业务case:
case1: 菜鸟物流订单统计
同一个订单的商品在运输过程中,因为各种原因,物流公司是有可能从A变成B的。为了统计物流公司承担的订单数目,菜鸟团队使用blink计算的retraction机制进行变key汇总操作。
-- TT source_table 数据如下:
order_id tms_company
0001 中通
0002 中通
0003 圆通

