kettle 数据抽取
问题是这样的 : 有一张表 source_tab ,有时间字段,我要抽取张表里的数据,程序有定时任务调用kettle 定时抽取这张表,要求抽取过的数据就不能再次被抽取了,前提是source_tab表不能改变表结构,所以只能用时间字段来甄别一下数据是否被抽取过,kettle要怎么设计呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
您好,我刚接触这个kettle, 我也想问这个问题,楼主求图解
那就找表里的时间列,作为标志了,比如DATE<=TO_DATE('2012/08/31 23:59:59','yyyy-mm-dd hh24:mi:ss')就是把8月31之前的都取过去,然后接着取其他的时间
用标志字段也可以过滤抽取过的数据,不再抽取,具体就是在源表里加一个标志列,并设置默认未抽取取值(比如0),然后抽取时,修改为1。这种方式也是有缺点的
用标志字段也可以过滤抽取过的数据,不再抽取,具体就是在源表里加一个标志列,并设置默认未抽取取值(比如0),然后抽取时,修改为1。这种方式也是有缺点的
给个时间变量,然后设置时间变量,最后获取数据时,就可以根据时间条件获得相应的数据。
把DATE作为一个变量,先在table input 中每天给个变量值,然后把DATE 作为变量,在set variable设置
1.------>table input
select
date_format(date(date_add(now(),INTERVAL-1 DAY)), '%m/%d/%Y') as DATE
from dual
2.---->set variable
一个sql不就查出来了吗,where 时间在你记录表时间之后的
kettl提数时先从配置读时间喽,由你调用前写入
弄个时间表保存时间,作为输入表来源,然后表输入弄个时间条件,抽完把时间回写到时间表
kettl提数时先从配置读时间喽,由你调用前写入