"Flink CDC为何攒批就不update字段了?'sink.buffer-flush.interval-ms' = '15000', 15秒刷buffer, 这算攒批吗?'database-name' = 'B2C',
'debezium.database.pdb.name' = 'B2C',我这边的情况是有个status字段会经常被更新, 但是 同步表中的字段增量没有被更新,虽然有攒批 , 但是一直都没有被更新, 即使超过flushtime,同步表用的主键是id+时间戳, update语句只有where id = , 没有时间戳, 这样会影响字段更新吗?"
在Flink CDC中,数据是通过批量方式发送到下游系统的。如果数据被攒成批次发送,那么在发送批次时,Flink CDC不会更新字段。这是因为Flink CDC的目的是捕获数据库中的数据变更,并将这些变更发送到下游系统。如果数据被攒成批次发送,那么在发送批次时,Flink CDC只会将批次中的所有数据变更一次性发送到下游系统,而不是每次只发送一个数据变更。
如果您希望Flink CDC在每次接收到数据变更时都更新字段,那么您可以尝试将Flink CDC的批量大小设置为1。这样,每次接收到一个数据变更时,Flink CDC就会立即更新字段。但是,这样做可能会导致Flink CDC的性能下降,因为它需要在每次接收到数据变更时都发送一次数据到下游系统。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。