码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-05-19 17:42:01      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:int   结束时间   获取   png   jdk   流程   配置   http   sync   

ETL增量单表同步简述

1. 实现需求

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

2. 设计思路

设计总体流程图如下:

技术分享

步骤简单说明:

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

 

技术分享

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

 技术分享

3、获取同步时间段并将beginTimeendTime设置到变量中。

 技术分享

4、获取beginTime>= and <endTime,根据比较原表和目标表数据的差异性,进行更新/插入数据到目标表。

 技术分享

5、根据比较原表和目标表数据的差异性,进行删除目标表的数据。一般通过id进行比较,故与4步骤分开处理。

 技术分享

6、更新提取的开始时间和结束时间,将上次提取的结束时间更新到开始时间。此步骤与4步骤配合。

 技术分享

3. 必备条件

1、目标数据库的表结构与原数据库相同;

2、同步的表要有syncTime字段,且数据类型和同步配置表synConfigbeginTimeendTime的数据类型相同。

3、当原表有新增、更新操作时要更新synTime字段。

4. 具体实现

4.1. 同步配置表设计

创建同步配置表synConfig如图所示:

 技术分享

字段说明如下:

?name:要同步的数据表名字。

beginTime:同步开始时间。

endTime:同步结束时间。

如下图表示数据表table3开始同步的时间为2017-05-11 14:20:51.473,结束时间为2017-05-11 14:20:53.520

 技术分享

建表sql如下:

 

create table synConfig(

  name   nvarchar(64) not null,

  beginTime datetime,

  endTime datetime,

);

 

4.2. 软件安装

1、Jdk

2、Kettle同步工具

说明:

技术分享

kettle7版本要求jdk必须为1.8以上。

详细可参考官网:http://community.pentaho.com/projects/data-integration/

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

标签:int   结束时间   获取   png   jdk   流程   配置   http   sync   

原文地址:http://www.cnblogs.com/xmqa/p/6879392.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!