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/
转载于:https://www.cnblogs.com/xmqa/p/6879392.html
ETL增量单表同步简述_根据dateTime增量相关推荐
- mysql 主从单库单表同步 binlog-do-db replicate-do-db
方案一:两边做主从. SELECT SUM(DATA_LENGTH)+SUM(INDEX_LENGTH) FROM information_schema.tables WHERE TABLE_SCHE ...
- pdman 创建表同步数据库_pdman 创建表同步数据库_使用PDMan来设计数据库系列1-PDMan软件的简介与安装...
前言 最近除了做好手上的工作外,也需要开始设计一套数据库用来存储实验室的全套数据,可能会涉及多个表的交叉引用,为了更加高效和准确的进行设计,需要用到数据库模型建模工具.这里选择的是开源的PDMan. ...
- pdman 创建表同步数据库_使用PDMan来设计数据库系列1-PDMan软件的简介与安装
前言 最近除了做好手上的工作外,也需要开始设计一套数据库用来存储实验室的全套数据,可能会涉及多个表的交叉引用,为了更加高效和准确的进行设计,需要用到数据库模型建模工具.这里选择的是开源的PDMan. ...
- mysql主从数据库同步问题_聊聊MySQL主从数据库同步的那些事儿
在linux服务器下测试:主(master)服务器IP:219.223.5.105(对应内网IP:192.168.1.75)从(slave)服务器IP:219.223.5.104(对应内网IP:192 ...
- kettle spoon判断增量更新_使用Kettle实现数据实时增量同步--时间戳增量回滚同步...
使用Kettle实现数据实时增量同步 0. 前言 本文介绍了使用Kettle对一张业务表数据(500万条数据以上)进行实时(10秒)同步,采用了时间戳增量回滚同步的方法.关于ETL和Kettle的入门 ...
- 使用RestCloud ETL实现增量数据实时同步
用ETL工具做数据库增量同步方式总共有如下几种: 通过时间戳实时增量同步,每次读取数据时用上一次读的时间戳进行最新数据的查询,有缺点也有优点,这种方式增量我们后面再介绍用ETL怎么做 使用触发器实现增 ...
- oracle 查询天,Oracle查询_ 单表查询
前面我们详解了关于Oracle的增删改,今天让我们接着来学习Oracle的查询吧, Oracle中查询可是重头戏噢!!!跟着煌sir的步伐,走位,走位~~~ 小知识锦囊 在此前,先讲解一个小知识点 O ...
- 用程序同步mysql数据库表_初次用Java写了个数据库表同步工具
介绍 java 程序编写,真正跨平台. 传入一定的参数,即可在相同或不同的数据库间进行表的同步,包括表结构的同步及数据的同步.作业由调度工具进行调度,比如 moia,本项目旨在提供一种数据库间表同步的 ...
- CentOS6.4 配置mysql服务器启动多个端口,同步单表数据
============================================================ ====多端口启动==== ========================= ...
最新文章
- Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False
- 加速神经网络收敛的萃取精馏权重法
- sap abap在表VBAP和VBAK上增加新字段的标准BAPI
- Twemproxy -- 针对MemCached与Redis的代理
- JavaFX 中 FX 一词的由来
- IBM SOA[ESB,BPM,Portal等]基础架构图解
- 技术转管理?这些“坑”你要绕道走
- Linux版本的ActiveMQ安装过程
- 比特币矿池是什么意思
- ECharts(Enterprise Charts 商业产品图表库)初识
- 「支持m1」命令行终端美化模拟器—Hyper for Mac
- java8新特性——如何使用lambda
- MaskFlownet图
- jade6.5安装教程
- 【超图+CESIUM】【基础API使用示例】31、超图|CESIUM -【坐标转换】屏幕坐标转世界坐标
- 第三方app实现微信登录功能
- tcpcopy mysql_MySQL容量规划之tcpcopy应用之道 西橙
- python中扑克牌类设计_创建扑克牌类Python
- 华为云——开发者技能测评
- 基于Android studio 的学生课堂管理app
热门文章
- Home_W的握手问题(思维+打表)
- matlab图片包微盘,如何用Matlab绘制二维图形资料下载
- 五大服务顺序_百度大脑5.0技术干货:详解飞桨五大优势,鸿鹄芯片架构细节
- python | 高效统计语言模型kenlm:新词发现、分词、智能纠错
- Early Stopping早停法
- 浅析Mysql的隔离级别及MVCC
- “提速降费” 并非一蹴而就 矛头齐指运营商有失偏颇
- django模板的使用方法
- 更改Tomcat默认目录+端口+设置缺省网页的方法
- 利用@factory和@dataProvider实现参数化