生产环境中我们用canal 将数据同步至kudu,自己实现了一个kudu-adapter mysql中更新一条记录binlog 如下:
beforeColumns { sqlType: -5 name: "id" isKey: true isNull: false value: "53423" mysqlType: "bigint(20)" } afterColumns { index: 19 sqlType: 3 name: "bat_vol" updated: true isNull: false value: "674" mysqlType: "decimal(4,2)" } afterColumns { index: 21 sqlType: 4 name: "battery_mileage" updated: true isNull: false value: "8786" mysqlType: "int(11)" } afterColumns { index: 24 sqlType: 3 name: "bat_capacity" updated: true isNull: false value: "8.61" mysqlType: "decimal(4,2)" } afterColumns { index: 34 sqlType: 93 name: "last_upload_time" updated: true isNull: false value: "2019-10-24 16:51:34" mysqlType: "datetime" } afterColumns { index: 36 sqlType: 93 name: "update_time" updated: true isNull: false value: "2019-10-24 16:51:37" mysqlType: "datetime" }
com.alibaba.otter.canal.client.adapter.support.MessageUtil#parse4Dml 将message解析成List的方法中,如上binlog 此方法不会把beforeColumns的信息存储至List中,导致更新kudu没有主键失败,是否可以改下该方法的逻辑,将beforeColumns的信息带到List中?非常感谢 wx struggle6682
原提问者GitHub用户qshaqima
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。