在数据采集过程中,遇到对方数据传送不及时的情况,导致数据漏采集,需要手工反复补采。为了解决这一问题,可以利用kettle的复制记录到结果/从结果获取记录控件。
job的整个流程如下:
设置变量:
创建目录:
get_time_id转换:
此时的表输入:构建的的时间段的这些时间在表中不存在,即是没有采集到的数据文件。
复制记录到结果:这时就是将表输入查询出来的时间复制到结果。
load_file是一个job。
在高级设置项中选中:对每个输入行执行一次,就是将传入的比如7天的时间每一条都执行这个job,相当于循环。
job-load_file的流程:
set_var-job流程中引用的转换
set_var 引用转换中的内容:
从结果获取记录:获取的字段名及类型。
设置变量:是讲字段名设置成变量
get_time也是job引用的转换
获取变量:获取前面设置的变量。
handle_file:job中引用的job。
流程:
FTP下载:配置文件所在路径的服务器。二进制模式必须要勾选,不然下载下来的文件是乱码。
into_table转换。引用的转换。
into_table流程:
Excel输入:
获取变量:(因表中有文件名字段,需要入到表中)
流程:
获取变量:获取存储过程传入的时间参数 TIME_ID
创建job的调度任务,每次执行都会将表中没有采集到的数据,循环采集入表。