Flink CDC入湖入仓过程中是如何区分上游业务表删除数据的?
因为有的业务本身需要删除数据,有的是因为数据库归档删除数据,这二者怎么区分?
业务删除数据要在目标paimon表上删除数据的,但归档删除数据是需要忽略的?
Flink CDC是一种用于捕获数据库中数据变更的技术,该技术基于数据库日志的Change DataFlink CDC是一种用于捕获数据库中数据变更的技术,该技术基于数据库日志的Change Data Captrue技术,实现了全量和增量的一体化读取能力。它借助Flink优秀的管道能力和丰富的上下游生态,支持捕获多种数据库的变更,并将这些变更实时同步到下游存储。
在Flink CDC入湖入仓的过程中,对于上游业务表删除数据的区分,是通过Flink SQL原生支持的Changelog机制进行的。核心思想是将表中的全量数据和增量数据做实时一致性的同步与加工,让用户可以方便地获得每张表的实时一致性快照。比如一张表中有历史的全量业务数据,也有增量的业务数据在源源不断写入,更新。
如果业务本身需要删除数据,那么会更新已有数据;如果是归档删除数据,则会被Flink CDC所忽略。具体来说,当业务表发生数据变更时,Flink CDC会实时抓取增量的更新记录,并据此更新或追加到已有数据。在此过程中,Flink CDC能够保证数据的一致性,即不重不丢。
你把删除的binlog过滤掉不就行了,他意思是动态过滤,这个还是比较难实现的,我cdc用的streamapi不是sql,所以比较灵活,如果你要区分两个删除的话,要不然再建一个表,要不然就把cdc删除的数据打标签不删除 ,此回答整理自钉群“Flink CDC 社区”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。