首 页 行业资讯 新车 试驾评测 养车用车 车型库

Kettle如何使用自定义变量

发布网友 发布时间:2022-04-22 06:15

我来回答

2个回答

懂视网 时间:2022-05-06 20:08

kettle参数、变量详细讲解 kettle 3.2 以前的版本里只有 variable 和 argument,kettle 3.2 中,又引入了 parameter 概念;variable 即environment variables(环境变量或全局变量),即使是不同的转换它们也拥有同样的值;而argument(位置参数)和paramete

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\.kettle (Windows)

C:Users\.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}.

热心网友 时间:2022-05-06 17:16

首先你需要设置变量,假设有一个字段ID,你将它设置变量命名为field,之后你可以在例如“表输入控件”中使用这个变量

谢谢采纳

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com