设为首页 加入收藏

TOP

数据清洗小记(11):Kettle_利用设置变量实现数据增量(小例)
2015-11-21 01:27:20 来源: 作者: 【 】 浏览:0
Tags:数据 清洗 小记 Kettle_ 利用 设置 变量 实现 增量 小例

【背景】
利用kettle工具,完成某表的增量工作。
【解决】
利用模块完成即可,如下简图:
这里写图片描述
【实验】
先手工准备一个实验环境:
准备基本完成如下效果:
select t.*, t.rowid from EMP_ETL t
这里写图片描述
select max(hiredate) maxsj from EMP_ETL
这里写图片描述vcz1yv2+3bf7us/V4rj2zPW8/qOsyOfPws28y/nKvqO6PGJyIC8+DQo8aW1nIGFsdD0="这里写图片描述" src="https://www.cppentry.com/upload_files/article/57/1_qqyoh__.png" title="\" />
编写时间戳ktr转换过程,把原表中最大的hiredate作为变量,如下图:
这里写图片描述
下面在“表输入”环节中,使用传递过来的${MAXSJ}作为条件,完成向目标表插入数据,简要流程如下:
这里写图片描述
执行转换,完成数据插入,简图如下:
这里写图片描述
补充:这只是一个简单的举例,对于使用时间戳的方式来完成增量时,这个实验中的方法如果每次都是全表max,当数据量特别大时,效率将大打折扣。而此时,我们就需要添加一个时间戳记录表,另添加一个时间戳字段,每次抽取结束后,将每次抽取后最晚一条记录的时间戳时间记录到时间戳表中,然后每次查询起点时间时只需要从时间戳表中提取即可。

小知识,简而记之。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇数据清洗小记(10):清洗字典数据.. 下一篇DBCA出错:ORA-19809:limitexceed..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: