kettle 设置变量
Posted 郭雪原
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kettle 设置变量相关的知识,希望对你有一定的参考价值。
以下只是本人在使用过程中一些经验,可能有误解不对的地方,希望大家指正。
这个控件可以在job中调用,也可以在transformation中使用。下面将分别说明在两个不同任务中调用时的使用方法和需要注意事项。
一、在job任务中使用
在job中设置变量一般都是设置全局变量,在不同转换间使用。首先需要Get System Info用来检索变量,因为我们一般会用来设置时间、路径等一些变量
第一列选择变量名称,然后选择type找到你需要的类型。如果想把你的输入信息设置为变量,type应该选择command line argument 1.
双击Set Variables, 点击获取变量会获取到你定义的变量,以后调用时加上${变量名}就可以使用了。
valid in the virtual machine: 整个虚拟机将知道这个变量
valid in the parent job:变量仅在父任务中可用
valid in the grand-parent job:变量仅在组父任务中可用
valid in the root job:变量仅在根任务中可用
注意事项:
1. 只接受一行(只能一行)数据来设置变量
2.在本转换中不能调用此变量,因为数据是并行传送的
二、在转换中设置字段为变量参数
在这个job里面需要填写参数名,不然这个job将会获取不到上一步传过来的字段。
将输入字段设置为参数, value填写形式如下。
后面就和全局变量一样可以调用了。
三、在转换中设置变量参数
如果设置参数值为常量或数字,则value可以直接,如上图5所示
如果设置路径作为变量(value里还可以包含变量值),如上6,7。注意的是在调用路径变量的时候加单引号‘’,我是在后面引用变量的时候加的,所以设置的时候没有加,当然也可以在设置value得时候就添加变量,那么在调用的时候就不需要添加单引号了。
以上是关于kettle 设置变量的主要内容,如果未能解决你的问题,请参考以下文章