是否可以在 Debezium 中配置 table_name =>卡夫卡主题映射?

我已阅读http://debezium.io/docs/connectors/mysql/ 但我找不到有关是否可以配置 debezium 以便将 2 个(或更多)表中的更改写入相同的单个 kafka 主题的任何信息?在我看来,它总是 1 个表 -> 1 个主题.

I've read http://debezium.io/docs/connectors/mysql/ but I could not find any info about whether debezium can be configured so that changes from 2 (or more) tables could be written to the same, single kafka topic? It seems to me that it is always 1 table -> 1 topic.

推荐答案

是的,使用 单条消息根据您确定的链接进行转换.您可以使用正则表达式 (regex) 将表映射到所需的主题.io.debezium.transforms.ByLogicalTableRouterorg.apache.kafka.connect.transforms.RegexRouter 都可以解决问题.有后者的例子 在这里的这篇文章:

Yes, use Single Message Transforms, per the link you identified. You can use regular expressions (regex) to map the tables to the topic required. Both io.debezium.transforms.ByLogicalTableRouter or org.apache.kafka.connect.transforms.RegexRouter should do the trick. There's an example of the latter in this post here:

"transforms":"dropPrefix",  
"transforms.dropPrefix.type":"org.apache.kafka.connect.transforms.RegexRouter",  
"transforms.dropPrefix.regex":"DC1-TEST-(.*)",  
"transforms.dropPrefix.replacement":"$1"

相关文章