Debezium连接器如何组合配置table.include.list与column.include.list
Debezium单连接器多表差异化字段同步方案
问题根因
你当前的配置逻辑本身符合Debezium的规则设计,运行后未生效通常是以下三类原因:
- 版本兼容性问题:Debezium 1.5以下版本存在多表差异化字段过滤的已知bug,需升级到1.5及以上稳定版本
- 大小写匹配问题:Debezium默认对库名、表名、字段名大小写敏感,若配置的名称和数据库实际的大小写不一致,会导致过滤规则不生效
- 旧数据干扰:修改配置前生成的快照数据或增量数据已经写入Kafka,你看到的全字段是未应用过滤规则的旧数据
正确配置方案
单连接器完全可以实现你要的需求,无需拆分多个连接器。Debezium的字段过滤规则是:仅对column.include.list中明确指定了字段的表做字段裁剪,未匹配到的表默认同步全部字段。
正确配置示例如下:
{ "table.include.list": "schema.table1,schema.table2", "column.include.list": "schema.table1.col1,schema.table1.col2", // 其他必要的连接器配置项省略 }
注意:配置项中的schema替换为你实际使用的数据库模式/库名,配置值中不要加多余空格,避免匹配失败。
生效验证步骤
- 调整配置前先删除对应表已生成的Kafka Topic,避免旧数据干扰验证结果
- 重启连接器时将
snapshot.mode设置为initial,触发重新快照,确保过滤规则作用于全量快照阶段 - 若规则仍未生效,查看连接器启动日志,搜索
column.include.list的解析日志,确认规则是否被正确加载
内容的提问来源于stack exchange,提问作者Roman
相关产品推荐
相关产品推荐

