Debezium SMT Filter配置报错:op字段不存在问题求助
问题解决:Debezium Filter SMT 报错 "op is not a valid field name"
问题根源
你开启了include.schema.changes: "true",Debezium Connector会同时发送数据变更事件和Schema变更事件。其中Schema变更事件的结构不包含op元数字段,而你的Filter条件直接尝试访问value.op,处理这类事件时就会触发字段不存在的异常。
解决方法
方法1:修改Filter条件兼容Schema变更事件
调整过滤条件,先判断事件是否包含op字段,只对数据变更事件做更新操作过滤,Schema变更事件直接放行:
"transforms.filter.condition": "value.schema().fields().any { it.name() == 'op' } && value.op == 'u'"
方法2:关闭Schema变更事件发送
如果业务不需要同步Schema变更,可以关闭该功能,这样Connector只会发送包含op字段的数据变更事件:
"include.schema.changes": "false"
内容的提问来源于stack exchange,提问作者Ravi
相关产品推荐
相关产品推荐

