【已解决】flink-doris-connector 实时同步 Mysql 整库到 Doris 中,后期某个表出现记录总数不一致问题,如何在不重新整库同步的情况下修复此表的问题?

Viewed 174

我是用 flink-doris-connector 整库同步 mysql 数据库到 Doris 数仓中的,后来因为实时任务异常停止等等其它的问题,某些表的删除或者更新没有同步到,出现了数据不一致的问题,请问这种情况下,重新整库同步耗时太长,不合适,怎样在不重新整库同步的情况下单独修复那些有问题的表呢?

3 Answers

1、整库同步的情况下,可以先考虑打个savepoint停止作业
2、额外启动一个cdc作只补有问题的表,走完snapshot后马上停止作业即可。
3、重新启动1选项中作业从savepoint启动,这样会保证继续消费上次停止的binlog点位。

除了重新整库同步,可以考虑如下方式来修复出现记录总数不一致的表:

  1. 检查数据差异:对比 MySQL 中的数据和 Doris 中的数据,找出具体哪些记录存在不一致。可以通过查询两端的数据进行对比,找出缺失或多余的记录。
  2. 修复数据:根据数据对比的结果,针对出现问题的记录进行修复。可以手动插入、更新或删除对应的数据,使得两端的数据保持一致。
  3. 触发增量同步:如果使用的是 Flink Doris Connector 进行实时同步,可以尝试触发增量同步任务,让该表的数据再次同步到 Doris 中。这样可以确保最新的数据被同步,从而修复数据不一致的问题。
  4. 监控数据同步:在修复完数据之后,建议加强对数据同步过程的监控,及时发现并解决类似的数据一致性问题,避免再次出现记录总数不一致的情况。

通过以上步骤,可以在不重新整库同步的情况下,修复特定表出现记录总数不一致的问题。希望有所帮助!如果有其他问题,也欢迎继续提问。

如果是主键表,可以停止任务,使用timestamp模式,数据出问题的时间往前推几分钟,数据一样可以覆盖