Kettle之“检查表是否存在”

150 篇文章 44 订阅
  想用Kettle实现一个非常简单的需求,从MySQL向Oracle导入一个表的数据,如果在oracle里表不存在,先建表再导入数据。这个功能看似非常简单,但对于刚开始接触Kettle的用户来说,可能会有些疑惑。Kettle的转化和作业中都有“检查表是否存在”步骤,但是如果要实现上述的需求,只能用作业,而不能使用转换。
  在Kettle中,作业是串行执行的,只有前一个作业项执行成功才会开始下一个作业项。而转换中的多个步骤是并行执行的,数据流会在构成转换的所有步骤中同时操作。因此,如果使用转换,不能保证先建表再导入数据的执行顺序。下面为实验步骤。

1. 建立一个名为“mysql to oracle”的作业,如下图所示。


2. “检查表是否存在”作业项如下图所示。

3. “create table”SQL脚本作业项如下图所示。

4. “mysql to oracle”转换如下面三张图所示。


参考:http://www.it4biz.com.br/cursos/kettle-cookbook/Samples/html/jobs/Slowly%20Changing%20Dimension/create%20-%20populate%20-%20update%20slowly%20changing%20dimension.kjb.html
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值