当前位置: 首页 > 工具软件 > PipelineDB > 使用案例 >

记一次PipelineDB数据校正

夔庆
2023-12-01

计算流程

进程消费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
 类似资料: