kettle 插入更新 数据增量_kettle—增量数据案例

etl 增量数据方式,一般有2种,一是取当前表中时间字段的最大,或者直接取上一次增量后产生的sysdate,二是用触发器等工具把变化的数据捕获,然后进行插入更新。

本案例使用数据库表上次增量产生的sysdate的方式进行增量更新。

1 打开kettle,文件->新建->转换,然后在右侧面板中右键,转换设置,在这里可以修改转名称。如图:

2 在左侧面板的核心对象中的输入标签里选择表输入,托到右侧面板,重复操作一次,这样就有2个输入表了。然后在左侧面板输出里选择表输出,然后拖到右侧面板。然后在选择第一个表输入,然后按shift,托到第二个表输入,建立一个hop,同样为第二个表输入和表输出之间建立连接。

3接着开始我们的设计,在第一个表输入中设置如下图:

在上图的步骤名称,输入该步骤的名称,由于我们使用的是jdbc,已经建好,我就直接选择了其中一个。在sql中输入上次运行的sysdate,(也就是今天),这个用于后续的增量时间字段,此时预览可以看到就只有一列的时间字段。

然后在第二个表输入做如下图操作:

步骤名称和数据库连接如上一步操作,在sql中从点击获取sql查询语句中选择需要进行增量操作的表,然后确认需要显示列名,出现没有where条件的sql语句,然后自己在sql中增加where 条件用?代表从上一个步骤中传过来的变量,在下面替换sql语句里的变量,打勾,确保到时问号符号能用被替换,从步骤插入数据的下拉菜单中选择上一步操作,在执行每一行上打勾。

第三部对输出表进行设置:

在上图中步骤名称和数据库连接同上,目标模式选择数据仓库的用户,目标表选择需要把数据插入到什么表中,如果是增量更新,不是临时表的话,千万不要在裁剪表上打勾,这个用于删除表中的数据。在数据字段中,直接点击添加映射,然后选择需要映射的字段。这也就完成了映射操作。

最后执行结果如下图:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值