记一次PipelineDB数据校正

计算流程

进程消费kafka数据,写入到foreign table T,通过materialized view A实时计算聚合结果。

问题

给消费者进程配置错了group_id,导致一段时间内的数据重复消费,需要纠正这段时间内偏大的结果。

解决步骤

  1. 根据时间过滤出重复消费的数据。
  2. 根据这部分数据计算出聚合写过,写入table B中,B的表结构与A_mrel相同
  3. 将A与B进行inner join,并将A中对应的值减去B中对应的值。

结果

校正前的A

houridnum
01a110
02a120
03a130
01b140
02b150
03b160

B

houridnum
01a10
02a20
03a30
01b40
02b50
03b60

执行的sql

update A_mrel as A 
	set num = (A.num - B.num) 
from captcha_detail_tmp as B 
	where A.hour = B.hour
	and A.id = B.id;

校正后的A

houridnum
01a100
02a100
03a100
01b100
02b100
03b100
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值