Kettle参数、变量详细讲解

来源:互联网 发布:a5创业网源码 编辑:程序博客网 时间:2024/06/13 11:50

问题

1、为什么需要设置环境变量
2、如何设置KETTL环境变量
3、如何使用KETTL环境变量

为什么需要设置变量

1、不管ETL的开发工作还是其他类型系统的开发,都要面临开发环境、测试环境和生产环境的部署,不同环境下有些变量的取值很可能是不一样的,所以需要根据环境进行修改。譬如ETL工作中,开发环境的数据比较少,每次同步的时间戳就需要调大些,而测试环境或者生产环境只需要调3天左右的数据即可。
2、项目代码里面使用变量的地方会有很多,为了方便管理,一般都需要把变量整合到一个文件里面。
3、项目代码很可能是需要打包,譬如java的项目,就需要打成ear或者war包,这时候就需要把环境变量的配置文件跟项目分开,方便针对不同环境进行配置和修改。

如何设置KETTL环境变量

KETTLE的环境变量叫variable(环境变量或全局变量),需要注意跟argument(位置参数)和parameter(命名参数)进行区分,在“转换”运行的时候,这三种元数据都可以作为替换值影响转换的执行效果,像是限定结果集的大小和过滤条件这些。

variable可以用在转换或作业中,可以通过在转换中使用 Set Variable 步骤定义或在kettle.properties文件中定义,文件的路径默认如下:
$HOME/.kettle (Unix/Linux/OSX)
C:\Documents andSettings\username.kettle\ (Windows)
可以直接使用编辑软件打开kettle.properties进行编辑,也可以使用Spoon的开发客户端打开编辑。选择“编辑->编辑kettle.properties文件”即可。

如何使用KETTL环境变量

转换或作业中,直接%%variable_name%%,或者${variable_name}就可以得到变量。需要注意的是,要想变量起作用,还是需要勾选空间中“替换SQL语句里的变量”选项,默认是不勾选的。

后记:garument(位置参数)和parameter(命名参数)是在作业中定义的,定义好之后也可以使用garumentname{parameter_name}的方式获取,不过暂时还不知道名称重复时的情况,但是设置对某些作业才起作用的变量可以进一步个性化,在一些场景里面是非常有用的。譬如某个作业固定周一跑,某个作业固定周五跑等等。

0 0
原创粉丝点击