我们可以使用 Flink kafka Upsert 连接器连接到/从 Kafka 压缩的主题吗?

问题描述

感觉很明显,但我还是问一下,因为我在文档中找不到明确的确认:

Flink 1.12 中可用的 Flink Table API upsert kafka connector 的语义与 Kafka 压缩主题的语义非常匹配:将流解释为变更日志并使用 NULL 值作为墓碑来标记删除

所以我的假设是可以使用它来消费和生产压缩主题,并且它可能正是为此而制作的,尽管它应该可以很好地与非-压缩主题假设其内容确实是一个变更日志。但是我很惊讶在文档的那部分中没有找到任何对压缩主题的引用。

有人可以证实或否定这个假设吗?

解决方法

是的,它用于压缩主题。根据{{​​3}}:

一般来说,upsert-kafka源码的底层topic必须要压缩。另外,底层topic必须在同一个partition中包含所有key相同的数据,否则会报错。