Kettle自动化作业

使用kettle做数据同步时,如果需要同步的表很多,一个个编写输入输出不太合理
所以为解决这种问题以及方便后续扩展,实现思路:
1、数据库创建个包含源表、目标表、输入脚本等字段的数据同步表
2、通过kettle读取表中需要同步的记录,并逐条执行数据同步
这样一来每次有新的表需要同步时,每次只需要新增/修改同步表即可,无需再从头编写输入输出规则

1、创建自动同步作业表

  字段包含但不限于:源系统、源表名、同步脚本、目标系统、目标表名、同步时间、更新规则、有效标识等

2、kettle创建转换1,添加表输入,读取作业表中待同步记录,并将记录存至结果

 

 

 3、创建转换2,从结果中获取记录,并将主要字段设置为变量

 4、创建转换3,获取变量,将变量中同步脚本赋至表输入中,勾选替换SQL语句中的变量,添加表输出,用变量替换目标表名

5、创建数据同步作业1,将3、4步创建的转换串起来(此作业是针对记录逐条操作的),此处是全量更新,所有数据同步之前先进行了清表

 

6、创建总体作业,获取所有记录存至结果,然后逐条执行结果中数据,并执行同步

7、若需要增量更新,则需要在第5步的作业1执行结束再添加,获取同步之后的最大更新时间,并写至同步作业表中作记录,在同步作业的执行脚本每次获取此更新时间之后的数据

8、总体涉及作业、转换

 

 

 

 

 

 

 

原文地址:https://www.cnblogs.com/grapelet520/p/14304149.html