kettle监视oracle,Kettle增量抽取数据,并实时监控周期任务执行情况

Kettle数据增量抽取数据配置说明

前提

数据源表有唯一递增sequence或者有入库时间。否则无法使用增量取数据。如果数据源有业务时间,如wifi的连接时间,因为设备不同,连接时间也是错乱的,所以入库时间是必要的。

抽取演示

抽取test表里的数据,输出为json文件

667b3723b8d0

任务记录表

667b3723b8d0

抽取配置

第一步:添加初始化任务记录

在任务记录表中增加一个要同步的数据的初始记录。

如:从20201026142854开始抽取数据,数据类型对应test

或者:1

第二步:获取当前任务中,数据源表最新的序列

开始》拖入表输入》配置数据库连接,连接数据源表》键入sql语句,如图》修改datatype_name为要接入的数据类型》结束

注意事项(Mysql)

]如果数据源表有入库时间字段,则只需替换下图的ds为对方的入库时间字段。Test为数据类型。(如图1)

如果对方有递增sequence,此处DATE_FORMAT(max(ds),'%Y%m%d%H%i%s'),修改为max(ds),ds用sequence字段替换。(如图2)

注意事项(Oracle)

667b3723b8d0

图1

667b3723b8d0

图2

第三步:获取任务表上次一执行的序列

开始》拖入表输入》配置数据库连接,任务记录表,test数据类型最新的序列》键入sql语句》修改test为当前接入的数据类型

667b3723b8d0

第四步:接着上一次序列取数据

注意:如果是入库时间序列,where条件需要根据mysql和oracle库来调整格式化日期函数。

第五步:调整时间字段输出格式

开始》拖入字段选择》点击元数据》点击获取改变的字段,或者手动添加时间字段》去除与时间无关的字段》按照标记添加时间转换》结束

667b3723b8d0

原因:没有配置时间格式转换,输出的时间会被转换,dex无法接入。看下图配置前后。

667b3723b8d0

667b3723b8d0

第六步:配置输出文件

开始》拖入JSON outPut》点击一般》除了文件名之外其他全部修改为标注的地方,仔细确认》点击字段》获取字段》如不想要某个字段,在此剔除,或者在写表输入sql时就剔除。

667b3723b8d0

667b3723b8d0

第七步:记录当前执行的最大序列

开始》拖入插入/更新》配置数据库连接为任务记录表》其他与标记保持一致》结束

此处连接一定要选择“复制”而不是“分发”。

667b3723b8d0

第八步:配置定时任务

下一篇:linux部署kettle方案。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值