# ClickHouse同步示例
本示例主要演示从ClickHouse empsinfo表中读取数据,通过Copy组件进行字段配置,复制EMPNO字段后,将数据写入ClickHouse empsinfo_miggration表中。
主要步骤如下:
# 准备数据
创建表 empsinfo 和 empsinfo_miggration 分别作为源表和目标表,并给源表 INSERT 一些数据。
-- ---------------------------------------
-- Table structure for empsinfo
-- ---------------------------------------
DROP TABLE IF EXISTS `empsinfo`;
CREATE TABLE `empsinfo` (
`ID` UInt32 ,
`NAME` String ,
`AGE` UInt32,
`EMPNO` UInt32
)ENGINE = MergeTree()
ORDER BY (ID);
-- ---------------------------------------
-- Table structure for empsinfo_miggration
-- ---------------------------------------
DROP TABLE IF EXISTS `empsinfo_miggration`;
CREATE TABLE `empsinfo_miggration` (
`ID` UInt32 ,
`NAME` String,
`AGE` UInt32 ,
`EMPNO` UInt32 ,
`EMPNO_COPY` UInt32
)ENGINE = MergeTree()
ORDER BY (ID);
-- ----------------------------
-- Records of empsinfo
-- ----------------------------
INSERT INTO `empsinfo` (`ID`, `NAME`, `AGE`, `EMPNO`) VALUES (10001, 'WARD', 25, 7521);
INSERT INTO `empsinfo` (`ID`, `NAME`, `AGE`, `EMPNO`) VALUES (10002, 'JONES', 32, 7566);
INSERT INTO `empsinfo` (`ID`, `NAME`, `AGE`, `EMPNO`) VALUES (10003, 'BLAKE', 15, 7698);
INSERT INTO `empsinfo` (`ID`, `NAME`, `AGE`, `EMPNO`) VALUES (10004, 'SCOTT', 53, 7788);
INSERT INTO `empsinfo` (`ID`, `NAME`, `AGE`, `EMPNO`) VALUES (10005, 'KING', 22, 7839);
# 新建同步作业
点击数据同步上的【...】,选择弹出菜单【新建数据同步作业】,作业名称为:ClickHouseSource-Copy-ClickHouseSink。
# 拖拽图元
依次拖拽数据源中的ClickHouse Source组件、转换中的Copy组件和目标中的ClickHouse Sink组件,依次连线。如下图所示:
# 配置组件属性
1、双击"ClickHouse Source"组件,根据下图所示步骤依次配置。
SQL语句:
select * from `default`.`empsinfo`
2、双击"ClickHouse Sink"组件,根据下图所示步骤依次配置。
3、双击"Copy"组件,根据下图所示步骤依次配置。
4、Ctrl+S保存该模型。
# 运行
点击【运行】按钮,可以运行已经开发完毕的场景,在日志栏可以看运行日志及运行结果。
# 查看数据
从SQL客户端中去目标表查看 empsinfo 源表数据已经同步到 empsinfo_miggration 目标表中。
# 提交版本
当草稿运行正常后,点击【提交】按钮可以将该版本提交到作业调度,每次修改提交都会生成新的版本,可以看到提交的历史版本,并可以随意切换版本。
提交后的版本,可以在作业调度中进行"定时"调度配置。