kettle 数据抽取

南北024 发布于 2011/10/20 13:46
阅读 4K+
收藏 1

问题是这样的 : 有一张表  source_tab  ,有时间字段,我要抽取张表里的数据,程序有定时任务调用kettle 定时抽取这张表,要求抽取过的数据就不能再次被抽取了,前提是source_tab表不能改变表结构,所以只能用时间字段来甄别一下数据是否被抽取过,kettle要怎么设计呢?

加载中
0
ddatsh
ddatsh

kettl提数时先从配置读时间喽,由你调用前写入

0
赞山风
赞山风
弄个时间表保存时间,作为输入表来源,然后表输入弄个时间条件,抽完把时间回写到时间表
0
南北024
南北024

引用来自“dd”的答案

kettl提数时先从配置读时间喽,由你调用前写入

kettl提数时先从配置读时间喽  ??? 这个怎么实现,kettle支持输入参数嘛?
0
l
liumm
一个sql不就查出来了吗,where 时间在你记录表时间之后的
0
y
yuetushen

给个时间变量,然后设置时间变量,最后获取数据时,就可以根据时间条件获得相应的数据。

把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

 

0
一滴清茗
一滴清茗
用标志字段也可以过滤抽取过的数据,不再抽取,具体就是在源表里加一个标志列,并设置默认未抽取取值(比如0),然后抽取时,修改为1。这种方式也是有缺点的
0
南北024
南北024

引用来自“一滴清茗”的答案

用标志字段也可以过滤抽取过的数据,不再抽取,具体就是在源表里加一个标志列,并设置默认未抽取取值(比如0),然后抽取时,修改为1。这种方式也是有缺点的
不能改变表结构,加标志列不就改变表结构了嘛
0
一滴清茗
一滴清茗
那就找表里的时间列,作为标志了,比如DATE<=TO_DATE('2012/08/31 23:59:59','yyyy-mm-dd hh24:mi:ss')就是把8月31之前的都取过去,然后接着取其他的时间
0
宋欣
您好,我刚接触这个kettle, 我也想问这个问题,楼主求图解
返回顶部
顶部