问题描述
这感觉很明显,但我还是问一下,因为我在文档中找不到明确的确认:
Flink 1.12 中可用的 Flink Table API upsert kafka connector 的语义与 Kafka 压缩主题的语义非常匹配:将流解释为变更日志并使用 NULL
值作为墓碑来标记删除。
所以我的假设是可以使用它来消费和生产压缩主题,并且它可能正是为此而制作的,尽管它应该可以很好地与非-压缩主题假设其内容确实是一个变更日志。但是我很惊讶在文档的那部分中没有找到任何对压缩主题的引用。
有人可以证实或否定这个假设吗?
解决方法
是的,它用于压缩主题。根据{{3}}:
一般来说,upsert-kafka源码的底层topic必须要压缩。另外,底层topic必须在同一个partition中包含所有key相同的数据,否则会报错。