canal使用v1.1.2镜像,客户端使用的v1.1.0的包, 发现 CanalEntry.Column对null值字段 getValue()方法返回的是空字符串 之后序列化发送出去的是空字符串'',不是null值,或者直接过滤掉。导致落地的时候把空字符串写入库了。 请问CanalEntry.Column哪个方法能确认数据库字段值为null?hasIsNull()还是getIsNull()
原提问者GitHub用户bai020
如果想把某个column值为空字符串的数据过滤掉的话,可以在自己实现一个eventProcessor,然后再在这个processor中,把相关的数据剔除掉。
for (EventColumn column : eventData.getColumns()) {
if (column.getColumnValue().equals("")) {
return false;
}
}
下面的方法可以判断值是否是null public boolean getIsNull() { return this.isNull_;}
原回答者GitHub用户night-sculler
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。