【背景】
利用kettle工具,完成某表的增量工作。
【解决】
利用模块完成即可,如下简图:
【实验】
先手工准备一个实验环境:
准备基本完成如下效果:
select t.*, t.rowid from EMP_ETL t
select max(hiredate) maxsj from EMP_ETL
我们验证将2015年10月22日的数据插入目标表中。
创建目标表:
create table EMP_ETL_1 as select * from EMP_ETL t where 1=2;
此时EMP_ETL_1数据为空,我们只插入hiredate 为2015/10/22的数据。
可以看到有两条数据符合这个条件,如下图所示:
编写时间戳ktr转换过程,把原表中最大的hiredate作为变量,如下图:
下面在“表输入”环节中,使用传递过来的${MAXSJ}作为条件,完成向目标表插入数据,简要流程如下:
执行转换,完成数据插入,简图如下:
补充:这只是一个简单的举例,对于使用时间戳的方式来完成增量时,这个实验中的方法如果每次都是全表max,当数据量特别大时,效率将大打折扣。而此时,我们就需要添加一个时间戳记录表,另添加一个时间戳字段,每次抽取结束后,将每次抽取后最晚一条记录的时间戳时间记录到时间戳表中,然后每次查询起点时间时只需要从时间戳表中提取即可。
小知识,简而记之。
蓝的成长记系列_20151022
原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处(http://blog.csdn.net/huangyanlong)。
蓝的成长记——追逐DBA(2):安装!安装!久违的记忆,引起我对DBA的重新认知
蓝的成长记——追逐DBA(3):古董上操作,数据导入导出成了问题
蓝的成长记——追逐DBA(4):追忆少年情愁,再探oracle安装
蓝的成长记——追逐DBA(5):不谈技术谈业务,恼人的应用系统
蓝的成长记——追逐DBA(8):重拾SP报告,回忆oracle的STATSPACK实验
蓝的成长记——追逐DBA(9):国庆渐去,追逐DBA,新规划,新启程
蓝的成长记——追逐DBA(10):飞刀防身,熟络而非专长:摆弄中间件Websphere
蓝的成长记——追逐DBA(11):回家后的安逸,晕晕乎乎醒了过来
蓝的成长记——追逐DBA(13):协调硬件厂商,六个故事:所见所感的“服务器、存储、交换机……”
蓝的成长记——追逐DBA(14):难忘的“云”端,起步的hadoop部署
蓝的成长记——追逐DBA(15):以为FTP很“简单”,谁成想一波三折
蓝的成长记——追逐DBA(17):是分享,还是消费,在后IOE时代学会成长
蓝的成长记——追逐DBA(18):小机上WAS集群故障,由一次更换IP引起
版权声明:本文为博主原创文章,未经博主允许不得转载。
数据清洗小记(11):Kettle_利用设置变量实现数据增量(小例)
原文地址:http://blog.csdn.net/huangyanlong/article/details/49321407