ETL增量單表同步簡述_根據timestamp增量
阿新 • • 發佈:2017-05-19
font 表同步 增量 pri 表設計 tro cluster add log timstamp。
ETL增量單表同步簡述
1. 實現需求
當原數據庫的表有新增、更新、刪除操作時,將改動數據同步到目標庫對應的數據表。
2. 設計思路
設計總體流程圖如下:
步驟簡單說明:
1、設置job的執行屬性,如下圖:
2、根據要同步的表名,更新同步配置表synConfig的endTime。
3、根據beginTime和endTime獲取同步時間段。
4、、根據比較原表和目標表數據的差異性,進行刪除目標表的數據。
6、更新提取的開始時間,將上次提取的結束時間更新到開始時間。
3. 必備條件
1、目標數據庫的表結構與原數據庫相同;
2、同步的表要有syncTime字段,且數據類型為
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增量