CDC全量同步数据消费顺序问题

来源:1-1 课前须知,这里有你需要了解得一切

慕斯卡0991186

2023-06-02

你好呀,我在使用CDC的时候遇到了一个问题,我描述一下。

CDC同步三个表,分别为A表、B表、C表。CDC将数据推送到kafka,单topic单partition。
业务服务消费kafka数据,在消费C表数据的时候,需要用到A表的数据,但是
由于A表数据还没过来,那么此时C表业务该如何处理?
是等待A表数据吗?还是说缓存起来,然后搞一个定时任务定时读取C表缓存,然后去查询
等待的A表数据再处理?

写回答

1回答

Michael_PK

2023-06-11

首先:CDC的职责是负责数据的接入,你后面的数据处理,不是它的职责

其次:C表用到A表的数据,我觉得可能还涉及几个问题,比如你的A表是维度表也是业务表呢?如果A是维度表,那么其实数据量肯定不会很大,而且变更的次数可能也不会太多,所以不太会存在还没过来的情况。 然后如果A表不是维度表,那由于你的C依赖于A,那么必然会存在A可能会晚到的情况,这种场景下,就只能依赖WM以及容忍时间的设置,在允许的范围内,接到A的多少数据就是多少数据。

再次:在上一个环节中,可能会涉及到A的部分数据没有到的,那么就通过侧流的方式输出到某个地方去,然后在通过另外一个程序进行补数操作

0
0

Flink+ClickHouse 玩转企业级实时大数据开发

已经在做大数据,Flink助力轻松提薪;尚未入行,让你弯道超车

1000 学习 · 225 问题

查看课程