zoukankan      html  css  js  c++  java
  • ETL增量单表同步简述_根据dateTime增量

    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/

  • 相关阅读:
    2017.10.30 天晴 昨天十公里没减肥
    我的一辩论点,随心而论
    2017.10.27 多云 天气晴
    2017.10.14 多云 天气转冷
    2017.10.9 天晴 准备减肥,有一起打卡的吗
    2017.10.7 国庆第8天
    2017.10.7 国庆第7天{鳏寡孤独}
    java多线程概念
    spring mvc分拣查询参数
    spring mvc 导出excel
  • 原文地址:https://www.cnblogs.com/xmqa/p/6879392.html
Copyright © 2011-2022 走看看