kettle參数、变量具体解说

kettle參数、变量具体解说

 

kettle 3.2 曾经的版本号里仅仅有 variable 和 argument,kettle 3.2 中。又引入了 parameter 概念。variable 即environment variables(环境变量或全局变量)。即使是不同的转换它们也拥有相同的值;而argument(位置參数)和parameter(命名參数),能够映射为局部变量,仅仅针对一个特定的转换,比方像是限定结果集的大小和过滤条件。

1、     variable(变量)

variables 也能够觉得叫做environment variables , 就像它的名字一样。主要是用来设定环境变量的,比方最常见的:文件的存放地址,smtp的配置等等。你也能够把它觉得是编程语言里面的全局变量。即使是不同的转换它们也拥有相同的值;

变量能够用在转换或作业中,能够通过在转换中使用 Set Variable 步骤定义或在kettle.properties文件里定义。文件的路径默认例如以下:

$HOME/.kettle (Unix/Linux/OSX)

C:\Documents andSettings\<username>\.kettle\ (Windows)

C:\Users\<username>\.kettle\(Windows Vista)

 

1.1、kettle.properties文件里定义全局变量

      打开文件。直接在里面定义,如: TODAY=to_char(sysdate,'yyyy-mm-dd'),这里支持数据库函数,说的更直白点,就是这里定义是个啥,那么在transformation里边取到的它就是啥。在须要的地方,直接%%V_YES_DATE%%。或者${V_YES_DATE}就能够得到。须要提醒的是假设编辑中文。须要navationtoascii工具或在eclipse中编辑。定义后保存重新启动spoon才生效。

 

2、     garument(位置參数)

      kettle 3.2 曾经的版本号里仅仅有 argument,也叫Positional arguments,就是最多能设置的 10 个命令行參数。通过在命令行參数的位置来差别

3、     parameter(命名參数)

在 kettle 3.2 中,又引入了 parameter 概念,能够通过名称来差别,并能够在命令行中通过/param:name=value 的方式设置设置參数, 另外/listparam 能够列出一个ktr 或 kjb 里定义的parameter。


命名參数能够在转换或作业的设置对话框中定义,定义时给定默认值;当在SPOON中执行作业或转换时。在执行对话框中输入命名參数的值。

在命令行中执行时,也能够通过-param:name=value给每一个命名參数赋值,param:name=value在命令行中一个总体块。视为命令的一个參数。

例:执行job.kjb文件,有两个參数files.dir=/opt/files max.date=2010-06-02

Linux: ./kitchen.sh-file:job.kjb -param:files.dir=/opt/files -param:max.date=2010-06-02
Windows: Kitchen.bat -file:job.kjb “-param:files.dir=/opt/files”“-param:max.date=2010-06-02″

命名參数可作为变量,在执行时命名參数并映射为变量。假设你定义了命名參数为foo,你能够在不论什么地方引用通过${foo}.

posted @ 2016-04-04 21:58  yxwkaifa  阅读(313)  评论(0编辑  收藏  举报