kettle 多表全删全插同步数据 两种方案 (4)

image


image


image


检验字段的值:
建立流程,编辑流程,建立流程控制

image


image


image


清除目标库表数据:
本来这一步不是单独的一步,看过之前我说的那几篇参考博客就知道,这一步应该是嵌套在数据抽取那个转换的,但我为什么给单独拿出来了呢,原因很简单,就是我放在那里边,整体运行时报错,想了一上午没想明白,就另辟蹊径,单独做了一步,这样就能整体运行了。
建立sql运行:
建sql脚本,编辑脚本,建立流程控制
truncate table ${TABLENAME}

image


image


image


抽取数据转换:
建立转换,编辑转换,建立流程控制

image


image


image


判断变量:
建立脚本,编辑脚本,建立流程控制
var list_Tables =parent_job.getVariable("tables").replace(" ","").replace("[","").replace("]","").split(",");
var size = new Number(parent_job.getVariable("size"));
var i = new Number(parent_job.getVariable("i"))+1;
if(i<size){
parent_job.setVariable("TABLENAME", list_Tables[i]);
}
parent_job.setVariable("i",i);
true;

image


image


image


点击确定即可

image


添加两个分支,不知道干啥的,这个随意,我试过,不加也行……

image


可以改名,自定义的。
保存此作业,会生成一个kjb文件。
运行:

image


还是强调一遍,作业启动之后,不要关窗口,否则就不执行了!!!!!!!!!!!!!!!!

结语:

以上就是多表数据同步的两种方案,有不对的地方请指教,我也是萌新啊……

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgfxjf.html