【背景】 利用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,当数据量特别大时,效率将大打折扣。而此时,我们就需要添加一个时间戳记录表,另添加一个时间戳字段,每次抽取结束后,将每次抽取后最晚一条记录的时间戳时间记录到时间戳表中,然后每次查询起点时间时只需要从时间戳表中提取即可。
小知识,简而记之。