1.实现原理
基于datax同步功能,datax-web增量功能,clickhouse的ReplacingMergeTree分区合并功能实现增量同步(包含单条数据的修改后同步)
2.前置条件
datax没有clickhousewriter插件,需要下载插件并反正plugin的writer目录下
clickhousewriter插件下载(为了方便下载,已上传至csdn)
3.实现方案
1.基于datax_web的增量功能
时间戳参数
-DlastTime=%s -DcurrentTime=’%s’
2.增量同步数据到clickhourse,涉及到单条数据的更新
https://clickhouse.com/docs/zh/engines/table-engines/mergetree-family/replacingmergetree/
DROP TABLE IF EXISTS tms.datax_test_incr;
CREATE TABLE tms.datax_test_incr (
id BIGINT,
name VARCHAR(100),
update_time_stamp TIMESTAMP
) ENGINE = ReplacingMergeTree(update_time_stamp)
PARTITION BY toYYYYMM(update_time_stamp)
PRIMARY KEY id
ORDER BY id
//手动合并分区
optimize table datax_test_incr final;
//查询去重
select * from datax_test_incr final;
dataxweb配置
"postSql": [
"optimize table datax_test_incr final"
],
4.实现后效果
————————————————