Kettle 设置变量的两种方法

时间:2024-03-15 11:00:54

1.ktr,kjb中设置变量。

ktr文件一  Kettle 设置变量的两种方法

Kettle 设置变量的两种方法

ktr文件二 Kettle 设置变量的两种方法

设置变量 这个控件设置的参数,不能在同一个转换中使用。

获取设置的变s量名用${MAX_USERID}

2.java给ktr赋值

用 获取系统信息 控件。同样使用 ${变量名}

Kettle 设置变量的两种方法

3.java给kjb赋值

java代码:

//创建job
Job job = new Job(repository,jobMeta);
//传递参数
job.setVariable("qy_table_name","demo1");
//执行job
job.start();
kjb文件,双击job里面要使用该参数的转换,填写${参数名}

Kettle 设置变量的两种方法

————————————————
版权声明:本文为CSDN博主「依御」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xufan601391682/article/details/78731654

 

Kettle_设置变量的两种方法

      一个复杂的kettle作业一般包括很多子作业和转换,在主作业Start后通常会添加一个【设置变量】的流程,该流程的功能是为所有流程的公共变量设置通用值。

      主作业添加的【设置变量】针对的是所有流程,如果需要运行某个在作业,就需要将其引用的变量值改为常量才能运行,想当年麻烦,本文介绍两种方法规避该问题

 

方法一:在子作业中添加设置变量流程

下图中table changlog exists?流程使用变量${cl},但是设置${cl}变量的值在主作业执行,所以执行本作业时会报错

Kettle 设置变量的两种方法

 解决方法:在table changlog exists?流程前添加【设置变量】流程用于设置${cl}的值

Kettle 设置变量的两种方法

 

方法二:设置全局变量

C:\Users\Administrator\.kettle\kettle.properties

打开本文件,设置键值对如cla=CHANGELOG1,重启spoon.bat后,start中的变量会自动引用键值对的值

只有本作业中使用了变量,start的变量一栏才会显示

Kettle 设置变量的两种方法