Kettle 的早期版本中的变量只有系统环境变量
目前版本中(3.1) 变量包括系统环境变量, "Kettle变量" 和内部变量三种系统环境变量的影响范围很广,凡是在一个 JVM下运行的线程都受其影响.Kettle 变量限制了变量的作用范围, 变量范围包括三种分别是 grand-parent job, parent job, root job 内部变量: 是 kettle 内置的一些变量, 主要是kettle 运行时依赖的环境, 如转换文件名称, 转换路径,ip地址, kettle 版本号等等.2. 变量的设置
"系统环境变量" 有三种设置方式
2) 属性文件 kettle.property 中设置, 该属性文件位于 ${user.home}.kettle 下
3) 通过设置环境变量步骤 (Set Variable) 设置."Kettle 变量" 只能通过设置环境变量 (Set Variable) 步骤设置,同时设置变量的作用范围.
"内部变量" 是预置的无须设置.3. 变量的使用
无论哪种类型的变量在使用上都是一样的, 有两种方式
1) 通过 %%var%% 或 ${var} 来引用, 这个引用可以用在 SQL 语句中, 也可以用在允许变量输入的输入框里.
2) 通过获取变量 (Get Variable) 步骤来使用命令行参数:
1. 设置: 命令行参数通过获取系统信息(Get System Info) 步骤设置, 在使用时可以像列名一样来使用,不必像变量一样要通过 ${var} 这样的格式引用. 用户最多可以设置10个命令行参数
2. 传递: 命令行下使用 pan /file:xxx.ktr arg1 arg2 来传递参数.图形界面下,每次运行时有要求输入参数的提示窗口.
最近用到了kettle中的变量,说一下我碰到的一些问题1、变量(variable)
这个是整个流程图
获取之前的查询结果,输出到文本文档,文档内容如下:
现在要查询CODE='02',点击启动,填写值为02,如果不填值,会用默认值做查询
kettle下使用SQL语句时经常会限定时间进行取数,每次改动就比较麻烦,可通过引用变量参数的方式自动引用,方便使用.一.新建转换,获取各种想要的变量参数:
1.<获取系统信息>:通过控件获取到所需要的时间参数
2.<增加常量>:通过控件可以设置想要获得天数的差值
二.测试
1.新建转换,然后在表输入阶段使用参数,切记需要勾上'替换SQL语句里的变量',且变量名需要设置为上面步骤4中显示的变量名
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)