目 录CONTENT

文章目录

🍭cloudcanal同步mysq到clickhouse实时方案

柯基
2025-11-09 / 0 评论 / 0 点赞 / 12 阅读 / 280 字

主要解决 由mysql同步到click house,源端(mysql)更新某条数据 在对端(clickhouse)中会转换成insert语句,出现两条重复主键的问题。使用自定义代码实现 将update语句转换成先删除对端(clickhouse)数据 再进行插入数据。

1. 创建同步任务

注意 如果需要将更新改为删除后插入(使用自定义代码) 数据库名称需要保持一致

cloudcanal_1

2.上传自定义代码

需要使用到官方demo中的MysqlToClickHouseUpdateNoRepeat类 需要参考MySqlToChNoUpdate修改继承为CloudCanalProcessorV2,代码也需要对应修改

官方demo

拉下来后需要用到子工程data-transform

修改plugin.properties文件内容为

loadClassName=com.clougence.cloudcanal.dataprocess.datatransform.MysqlToClickHouseUpdateNoRepeat

然后打成jar包上传,创建任务

下载带日志版jar包

下载不带日志纯净版jar包

cloudcanal_2

3. 查看日志是否报错

查看任务详情 查看日志

cloudcanal_3

cloudcanal_4

修改源端某条数据 如果没有报错 且对端数据同步后不会变成两条数据 则代表成功

0

评论区