ETL增量单表同步简述_根据timestamp增量

ETL增量单表同步简述

1. 实现需求

当原数据库的表有新增、更新、删除操作时,将改动数据同步到目标库对应的数据表。

2. 设计思路

设计总体流程图如下:

 

步骤简单说明:

1、设置job的执行属性,如下图:

 

2、根据要同步的表名,更新同步配置表synConfigendTime

 

3、根据beginTimeendTime获取同步时间段。

 

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/

原文地址:https://www.cnblogs.com/xmqa/p/6879444.html