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

ETL增量单表同步简述

1. 实现需求

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

2. 设计思路

设计总体流程图如下:

步骤简单说明:

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

2、根据要同步的表名,更新同步配置表synConfig的endTime。

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

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

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

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

3. 必备条件

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

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

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/

时间: 2024-11-10 10:36:41

ETL增量单表同步简述_根据dateTime增量的相关文章

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

ETL增量单表同步简述 1. 实现需求 当原数据库的表有新增.更新.删除操作时,将改动数据同步到目标库对应的数据表. 2. 设计思路 设计总体流程图如下: 步骤简单说明: 1.设置job的执行属性,如下图: 2.根据要同步的表名,更新同步配置表synConfig的endTime. 3.根据beginTime和endTime获取同步时间段. 4..根据比较原表和目标表数据的差异性,进行删除目标表的数据. 6.更新提取的开始时间,将上次提取的结束时间更新到开始时间. 3. 必备条件 1.目标数据库的

ETL全量单表同步简述

ETL全量单表同步简述 1. 实现需求 当原数据库的表有新增.更新.删除操作时,将改动数据同步到目标库对应的数据表. 2. 设计思路 设计总体流程图如下: 注意点: 1.数据库合并时,选择正确的数据源. 2.不要选"简易转换". 2.1. 软件安装 1.Jdk 2.Kettle同步工具 说明: kettle7版本要求jdk必须为1.8以上. 详细可参考官网:http://community.pentaho.com/projects/data-integration/

mysql主从同步分库分表同步

一.mysql数据库的安装 分别在master 和slave上源码安装mysql数据库 1.1 安装相关包1.1.1 cmake软件cd /home/oldboy/tools/tar xf cmake-2.8.8.tar.gzcd cmake-2.8.8./configure#CMake has bootstrapped.  Now run gmake.gmakegmake installcd ../ 1.1.2 依赖包yum install ncurses-devel -y 1.2 开始安装m

CentOS6.4 配置mysql服务器启动多个端口,同步单表数据

============================================================ ====多端口启动==== ============================================================ 创建数据目录 mkdir /usr/local/mysql/var1/ mkdir /usr/local/mysql/var2/ =================================================

Hadoop阅读笔记(三)——深入MapReduce排序和单表连接

继上篇了解了使用MapReduce计算平均数以及去重后,我们再来一探MapReduce在排序以及单表关联上的处理方法.在MapReduce系列的第一篇就有说过,MapReduce不仅是一种分布式的计算方法,更是一种解决问题的新思维.新思路.将原先看似可以一条龙似的处理一刀切成两端,一端是Map.一端是Reduce,Map负责分,Reduce负责合. 1.MapReduce排序 问题模型: 给出多个数据文件输入如: sortfile1.txt 11 13 15 17 19 21 23 25 27

单表60亿记录等大数据场景的MySQL优化和运维之道

此文是根据杨尚刚在[QCON高可用架构群]中,针对MySQL在单表海量记录等场景下,业界广泛关注的MySQL问题的经验分享整理而成,转发请注明出处. 杨尚刚,美图公司数据库高级DBA,负责美图后端数据存储平台建设和架构设计.前新浪高级数据库工程师,负责新浪微博核心数据库架构改造优化,以及数据库相关的服务器存储选型设计. 前言 MySQL数据库大家应该都很熟悉,而且随着前几年的阿里的去IOE,MySQL逐渐引起更多人的重视. MySQL历史 1979年,Monty Widenius写了最初的版本,

单表60亿记录等大数据场景的MySQL优化和运维之道 | 高可用架构(转)

转自http://www.php1.cn/Content/DanBiao_60_YiJiLuDengDaShuJuChangJingDe_MySQL_YouHuaHeYunWeiZhiDao_%7C_GaoKeYongJiaGou.html, 更多详细资料请参看原文 此文是根据杨尚刚在[QCON高可用架构群]中,针对MySQL在单表海量记录等场景下,业界广泛关注的MySQL问题的经验分享整理而成,转发请注明出处. 杨尚刚,美图公司数据库高级DBA,负责美图后端数据存储平台建设和架构设计.前新浪高

[转载] 单表60亿记录等大数据场景的MySQL优化和运维之道 | 高可用架构

原文: http://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=209406532&idx=1&sn=2e9b0cc02bdd4a02f7fd81fb2a7d78e3&scene=1&key=0acd51d81cb052bce4ec2a825666e97fe7d6e1072fb7d813361771645e9403309eb1af025691162c663b60ea990c3781&ascene=0&

【转】单表60亿记录等大数据场景的MySQL优化和运维之道 | 高可用架构

此文是根据杨尚刚在[QCON高可用架构群]中,针对MySQL在单表海量记录等场景下,业界广泛关注的MySQL问题的经验分享整理而成,转发请注明出处. 杨尚刚,美图公司数据库高级DBA,负责美图后端数据存储平台建设和架构设计.前新浪高级数据库工程师,负责新浪微博核心数据库架构改造优化,以及数据库相关的服务器存储选型设计. 前言 MySQL数据库大家应该都很熟悉,而且随着前几年的阿里的去IOE,MySQL逐渐引起更多人的重视. MySQL历史 1979年,Monty Widenius写了最初的版本,