kettle利用时间戳(timestamp)做增量抽取

原创 2018年04月16日 14:18:13

创建两个表:

用户为Scott

create table zhiyuanb(填表日期 Date primary Key,

       姓名  Varchar2(10) Not Null,
         
年龄  Number(3) ,
          居住地 Varchar2(100),

)

用户为hr

create table ruzhib_1 ( 填表日期 Date primary Key,

       姓名   Varchar2(10)Not Null,
     
年龄  Number(3) ,
      居住地 Varchar2(100),
)

把Scott用户下的ruzhib 的增量数据抽取到hr用户下面的ruzhib_1

首先先创建一个时间戳表:

create table times(

                           cqsj  date  primary Key,    --最近一次抽取表的时间

                           xtsj  date );                   --上次抽取作业的时间

 

ruzhib数据为

 

 

开始了,进入主题:

第一步先获取时间戳表里面的上次抽取的时间这里用的max(),再将上一步获取到的时间来取出上次抽取以后的数据,再将其插入到ruzhib_1里面

详细步骤:

查询的字段只需要弄一个主键就够了

 再把抽取的时间和抽取时的系统时间记录到时间戳表内

详细步骤:

Max(填表日期)就可以获到本次增量抽取过来的最近时间,sysdate,来获取本次的操作时间

再将其插入到times表里

 

 

通过作业把他们组合到一块


详细步骤:start用于开始,

在第二个控件转化里面


把刚才做的那个抽取的转换填进去

第三个是把时间添加到times表里的转换


最后完成


步骤就这些

咱们测试一下

出现了一个错误,为什么呢,因为这是第一次创建表使用,times表里面还没有数据,所以会出错,咱们先向里面手动添加一条数据

InsertInto times Values(to_date('2018/1/1 12:23:00','yyyy/mm/ddhh24:mi:ss'),

                          to_date('2018/4/16 12:15:23','yyyy/mm/ddhh24:mi:ss'))

 

 

然后咱们再试一下

 

成功了,再测试一下,往zhiyuanb里插上两条记录再试试

InsertInto zhiyuanb Values(to_date('2018/2/3 12:56:00','yyyy/mm/ddhh24:mi:ss'),'玛丽',20,'北京');

InsertInto zhiyuanb Values(to_date('2018/3/4 09:31:02','yyyy/mm/ddhh24:mi:ss'),'张吉',23,'河南');

又成功了,所需的数据都被插入了进来

 

时间也被插入更新了进来

 

 

 

 

O k

自己独立编写,喜欢的能帮助你的给个小赞赞吧!!!


利用Project2013轻松实现项目规划(上)

通过培训,使学员了解project2013新功能,熟练的掌握项目管理软件的使用方法,建立项目管理理念。
  • 2015年11月05日 10:32

Kettle:利用设置变量(时间戳)实现数据增量更新

本文整理自:http://www.2cto.com/database/201510/447072.html 要实现实时的增量更新共有两种方法: 1.通过触发器。在要抽取的表上建立需要的触发器,一...
  • AmberTian
  • AmberTian
  • 2017-05-04 16:20:22
  • 5931

(2)Kettle数据抽取--增量抽取

  • 2011年03月11日 21:32
  • 69KB
  • 下载

在Kettle里使用时间戳实现变化数据捕获(CDC)

1. 建立测试表,插入数据。use test; create table t_color ( id int unsigned not null auto_increment pr...
  • wzy0623
  • wzy0623
  • 2016-12-26 14:03:21
  • 5065

kettle增量抽取框架

利用kettle进行数据抽取,其实和手工的ETL流程差不多,最近结合项目整理了一个简单实用的抽取框架。 一、抽取的大致流程:、 二、kettel框架: 三、细节介绍: ...
  • a275838263
  • a275838263
  • 2016-05-30 17:45:04
  • 5809

Data Integration Kettle 插件 增量数据抽取

  • 2010年03月31日 09:52
  • 87KB
  • 下载

Kettle-7.0增量抽取订单数据

原文来自:http://www.ukettle.org/thread-594-1-1.html业务需求:从mysql数据库中,抽取订单和订单明细数据,做一定的轻度清洗,并将清洗后的数据存放到指定目录下...
  • zisheng_wang_DATA
  • zisheng_wang_DATA
  • 2017-05-11 15:27:39
  • 2739

kettle入门(七) 之kettle增量方案(一)全量比对取增量-根据唯一标示

kettle的转换ktr里有一个图元叫做合并记录可以把数据记录分为源和目的根据唯一标示 进行全量比对,...
  • xiaohai798
  • xiaohai798
  • 2015-08-01 14:57:56
  • 32850

使用kettle进行增量抽取数据

使用背景: 当前项目中使用的数据依赖于其它系统,别人的系统当然不会把实时更新的数据一个不差的发送给我们(当然更加不会让我们对他们系统的数据库进行编程),所以我们要自己动手去获取他们系统中的数据。使用...
  • fangdengfu123
  • fangdengfu123
  • 2017-04-05 11:02:00
  • 13395

KETTLE如何实现实时的增量更新(两种方法)

要实现实时的增量更新共有两种方法: 1.通过触发器。在要抽取的表上建立需要的触发器,一般要建立插入、修改、删除三个触发器,每当源表中的数据发生变化,就被相应的触发器将变化的数据写入一...
  • u014723529
  • u014723529
  • 2014-11-27 11:21:59
  • 10265
收藏助手
不良信息举报
您举报文章:kettle利用时间戳(timestamp)做增量抽取
举报原因:
原因补充:

(最多只允许输入30个字)