KETTLE有多种参数,我主要用到的,分别是parameter,argument和自定义的参数。
1、parameter
使用这个参数相对比较简单,可以在job的空白处右键选job setting,可以看到tab parameter选项
在parameter选项可以定义参数的名字和默认值,
图形界面运行job时,可以直接在运行JOB前的lauch面板输入这个参数的值,
命令行运行job时,可以使用-param指定参数的值
For example
kitchen.sh -file=/home/kettle/test.kjb -param:VDATE=20150101
2、argument
和parameter一样
图形界面运行job时, 可以直接 在运行JOB前的lauch面板 输入这个参数的值
命令行运行时,直接在命令行后输入
For example
kitchen.sh -file=/home/kettle/test.kjb 20150101
如何在流程中取得这个参数的值呢
首先,和参数设置有关的步骤,都要使用transformation进行
新建一个transformation,使用get system info步骤来获得参数值
转换内部如下图
get system info 输出指向 set variable步骤
打开get system info,在type选项选择commandline argument 1
打开set variables步骤,直接点击get fields,得如下图所示
至此使用vdate参数接收了命令行参数的值
3、使用其他值来设置参数
在公司,经常需要从配置表里取数据作为参数使用
这里使用sysdate作为示例,数据库环境oracle
使用了两个transformation来配合设置
数据流向
transformation1------>transfromation2
第一个transformation,主要是从数据库表中取数据进入kettle的流里面,内部如下
第一个步骤是table input,使用一个SQL,查出格式化后的昨天的日期
第二步select values,按get fields to select
第三步copy rows to result
第二个transformation,从流中取出数据,并设置为variable,内部如下
第一步get rows from result,这里自己在fieldname上填入前面步骤中传入的数据
第二步 set variables,可以参考上面的设置get system info的步骤,一样的
4、参数设置完毕后,我们可以使用了,很多地方都能使用参数,除了脚本等地方,很多例如文件名,文件路径,数据库连接等,都可以使用参数
例如下图的SQL script
ID这个variable设置好后,就可以以${ID}的形式使用
在某些步骤,要勾上use variable substitution,参数才能生效
1、parameter
使用这个参数相对比较简单,可以在job的空白处右键选job setting,可以看到tab parameter选项
在parameter选项可以定义参数的名字和默认值,
图形界面运行job时,可以直接在运行JOB前的lauch面板输入这个参数的值,
命令行运行job时,可以使用-param指定参数的值
For example
kitchen.sh -file=/home/kettle/test.kjb -param:VDATE=20150101
2、argument
和parameter一样
图形界面运行job时, 可以直接 在运行JOB前的lauch面板 输入这个参数的值
命令行运行时,直接在命令行后输入
For example
kitchen.sh -file=/home/kettle/test.kjb 20150101
如何在流程中取得这个参数的值呢
首先,和参数设置有关的步骤,都要使用transformation进行
新建一个transformation,使用get system info步骤来获得参数值
转换内部如下图
get system info 输出指向 set variable步骤
![](http://img.blog.itpub.net/blog/attachment/201501/23/27120361_1421991054yM3K.png?x-oss-process=style/bb)
打开get system info,在type选项选择commandline argument 1
![](http://img.blog.itpub.net/blog/attachment/201501/23/27120361_1421990599o5Fg.jpg?x-oss-process=style/bb)
打开set variables步骤,直接点击get fields,得如下图所示
![](http://img.blog.itpub.net/blog/attachment/201501/23/27120361_1421990904Cjm9.jpg?x-oss-process=style/bb)
至此使用vdate参数接收了命令行参数的值
3、使用其他值来设置参数
在公司,经常需要从配置表里取数据作为参数使用
这里使用sysdate作为示例,数据库环境oracle
使用了两个transformation来配合设置
数据流向
transformation1------>transfromation2
第一个transformation,主要是从数据库表中取数据进入kettle的流里面,内部如下
![](http://img.blog.itpub.net/blog/attachment/201501/23/27120361_1421991372SwS2.png?x-oss-process=style/bb)
第一个步骤是table input,使用一个SQL,查出格式化后的昨天的日期
![](http://img.blog.itpub.net/blog/attachment/201501/23/27120361_1421991496O3pZ.jpg?x-oss-process=style/bb)
第二步select values,按get fields to select
![](http://img.blog.itpub.net/blog/attachment/201501/23/27120361_1421993876HCCF.png?x-oss-process=style/bb)
第三步copy rows to result
第二个transformation,从流中取出数据,并设置为variable,内部如下
![](http://img.blog.itpub.net/blog/attachment/201501/23/27120361_142199436791H9.png?x-oss-process=style/bb)
第一步get rows from result,这里自己在fieldname上填入前面步骤中传入的数据
![](http://img.blog.itpub.net/blog/attachment/201501/23/27120361_1421994062n5hS.jpg?x-oss-process=style/bb)
第二步 set variables,可以参考上面的设置get system info的步骤,一样的
4、参数设置完毕后,我们可以使用了,很多地方都能使用参数,除了脚本等地方,很多例如文件名,文件路径,数据库连接等,都可以使用参数
例如下图的SQL script
![](http://img.blog.itpub.net/blog/attachment/201501/23/27120361_14219946013o0D.jpg?x-oss-process=style/bb)
ID这个variable设置好后,就可以以${ID}的形式使用
在某些步骤,要勾上use variable substitution,参数才能生效
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27120361/viewspace-1412105/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/27120361/viewspace-1412105/