我现在用的flinkcdc 监听binlog 进行消费使用,但是目前有一个问题,mysql随着时间的积累量大想进行数据备份到数仓里面,那么这个mysql 数据就会被删除。mysql—>binlog—>finkcdc—>sr删除。其实我这里如果保证mysql删除 sr 不删除
sr里的表模型时主键模型
2类删除,一类是正常的业务数据删除时,期望在sr里删除,一类是物理删除数据,期望在sr里不删除
我现在用的flinkcdc 监听binlog 进行消费使用,但是目前有一个问题,mysql随着时间的积累量大想进行数据备份到数仓里面,那么这个mysql 数据就会被删除。mysql—>binlog—>finkcdc—>sr删除。其实我这里如果保证mysql删除 sr 不删除
sr里的表模型时主键模型
2类删除,一类是正常的业务数据删除时,期望在sr里删除,一类是物理删除数据,期望在sr里不删除
关键任务暂停了,记录最后的offeset点,flinkcdc 停止了,mysql删除了,但是这个过程中还有新的业务数据过来也给过滤掉了。
全量清除就用第一种方案
如果部分删除才需要第二种方案,中间的数据只能人工保证。
还有一种方法,就是停止任务->删数据->重启任务时更改flink-create.1.sql中的insert select语句为 insert into sink select * from source where date >‘2021-12-21’; 即增加筛选条件。示例中,增加条件后,mysql中数据字段date小于等于’2021-12-21’的操作不会同步到sr中。包括删除,更新,新增操作