1. 程式人生 > >ETL增量單表同步簡述_根據timestamp增量

ETL增量單表同步簡述_根據timestamp增量

font 表同步 增量 pri 表設計 tro cluster add log

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/

ETL增量單表同步簡述_根據timestamp增量