1.ktr,kjb中设置变量。
ktr文件一
ktr文件二
设置变量 这个控件设置的参数,不能在同一个转换中使用。
获取设置的变s量名用${MAX_USERID}
2.java给ktr赋值
用 获取系统信息 控件。同样使用 ${变量名}
3.java给kjb赋值
java代码:
//创建job
Job job = new Job(repository,jobMeta);
//传递参数
job.setVariable("qy_table_name","demo1");
//执行job
job.start();
kjb文件,双击job里面要使用该参数的转换,填写${参数名}
————————————————
版权声明:本文为CSDN博主「依御」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xufan601391682/article/details/78731654
Kettle_设置变量的两种方法
一个复杂的kettle作业一般包括很多子作业和转换,在主作业Start后通常会添加一个【设置变量】的流程,该流程的功能是为所有流程的公共变量设置通用值。
主作业添加的【设置变量】针对的是所有流程,如果需要运行某个在作业,就需要将其引用的变量值改为常量才能运行,想当年麻烦,本文介绍两种方法规避该问题
方法一:在子作业中添加设置变量流程
下图中table changlog exists?流程使用变量${cl},但是设置${cl}变量的值在主作业执行,所以执行本作业时会报错
解决方法:在table changlog exists?流程前添加【设置变量】流程用于设置${cl}的值
方法二:设置全局变量
C:\Users\Administrator\.kettle\kettle.properties
打开本文件,设置键值对如cla=CHANGELOG1,重启spoon.bat后,start中的变量会自动引用键值对的值
只有本作业中使用了变量,start的变量一栏才会显示