ETL增量单表同步简述_根据timestamp增量
ETL增量单表同步简述
1. 实现需求
当原数据库的表有新增、更新、删除操作时,将改动数据同步到目标库对应的数据表。
2. 设计思路
设计总体流程图如下:
步骤简单说明:
1、设置job的执行属性,如下图:
2、根据要同步的表名,更新同步配置表synConfig的endTime。
3、根据beginTime和endTime获取同步时间段。
4、、根据比较原表和目标表数据的差异性,进行删除目标表的数据。
6、更新提取的开始时间,将上次提取的结束时间更新到开始时间。
3. 必备条件
1、目标数据库的表结构与原数据库相同;
2、同步的表要有syncTime字段,且数据类型为timstamp。
4. 具体实现
4.1. 同步配置表设计
创建同步配置表synConfig,如图所示:
字段说明如下:
name:要同步的数据表名字。
beginTime:同步开始时间。
endTime:同步结束时间。
建表sql如下:
同步配置表synConfig建表sql |
create table synConfig( name varchar(200) not null, beginTime varbinary(100), endTime varbinary(100), constraint pk_synConfig primary key nonclustered (name) ); --修改原表,追加同步字段 alter table tableName add synTime(timestamp) |
4.2. 软件安装
1、Jdk
2、Kettle同步工具
说明:
kettle7版本要求jdk必须为1.8以上。
详细可参考官网:http://community.pentaho.com/projects/data-integration/