Closed denganming closed 8 months ago
@itinycheng update策略,在1.14代码中看到是有的,实测不支持
那如何做到实时更新(delete和update)
sink.update-strategy
的代码我并没合并到release-1.14分支;
不建议在Flink端生成类似update的操作,当前connector对update/delete支持也并不完善;
最好结合ClickHouse端表引擎来解决实际问题,单靠connector不太行;
sink.update-strategy
的代码我并没合并到release-1.14分支; 不建议在Flink端生成类似update的操作,当前connector对update/delete支持也并不完善; 最好结合ClickHouse端表引擎来解决实际问题,单靠connector不太行;
@itinycheng ClickHouse我用了ReplacingMergeTree引擎,如果上游数据更新或者删除了,偶尔还是会出现数据多的问题。那么在1.15中sink.update-strategy能否规避这个问题呢?
sink.update-strategy
的代码我并没合并到release-1.14分支; 不建议在Flink端生成类似update的操作,当前connector对update/delete支持也并不完善; 最好结合ClickHouse端表引擎来解决实际问题,单靠connector不太行;@itinycheng ClickHouse我用了ReplacingMergeTree引擎,如果上游数据更新或者删除了,偶尔还是会出现数据多的问题。那么在1.15中sink.update-strategy能否规避这个问题呢?
Connector本身没办法保证end-to-end exactly once
,具体数据多的原因给不出太多建议,最好根据自己场景排查下,如果是因为没有及时optimize table,可以另一个任务定时对表执行optimize操作;
sink.update-strategy
配置只是给了我们个转换update语句的策略而已;
@denganming 您说的确实是个问题,但加sign并不是每个引擎都支持,所以得有个比较普遍适用的方案; 最近我自己加了个update_after的转update,insert 或直接ignore的配置; delete还没想太多,如果合适方案欢迎PR;