kettle从入门到精通 第三十五课 kettle 变量

1、设置变量

a、可以通过转换中的“设置变量”步骤进行设置。

 

b、手动通过kettle.properties文件或通过“编辑”菜单中的“设置环境变量”对话框来定义变量。kettle.properties文件的位置可以通过设置KETTLE_HOME来指定,如设置KETTLE_HOME 为/opt/kettle/home,则kettle.properties文件的路径为/opt/kettle/home/.kettle/kettle.properties。

 

c、设置变量名称要注意不要和参数名称相同。

 

2、获取变量

a、可以“获取变量”步骤使用变量的值。

b、可以直接在步骤中通过${VARIABLE} 或者%%VARIABLE%%方式直接使用变量。

c、如果解析一个依赖于另一个变量的变量,可以这样使用:${%%inner_var%%}。

3、kettle内置变量

以下变量始终被定义:

变量名称 示例数值
Internal.Kettle.Build.Date 2010/05/22 18:01:39
Internal.Kettle.Build.Version 2045
Internal.Kettle.Version 4.3

这些变量在一个转换中被定义:

变量名称 示例数值
Internal.Transformation.Filename.Directory D:\Kettle\samples
Internal.Transformation.Filename.Name Denormaliser - 2 series of key-value pairs.ktr
Internal.Transformation.Name Denormaliser - 2 series of key-value pairs sample
Internal.Transformation.Repository.Directory /

这些变量在一个job中被定义:

变量名称 示例数值
Internal.Job.Filename.Directory file:///home/matt/jobs
Internal.Job.Filename.Name Nested jobs.kjb
Internal.Job.Name Nested job test case
Internal.Job.Repository.Directory /

这些变量是在运行于从服务器上、以集群模式执行的转换中被定义的。

变量名称 示例数值
Internal.Slave.Transformation.Number 0..<cluster size-1> (0,1,2,3 or 4)
Internal.Cluster.Size <cluster size> (5)

如下是常用的转换或者job文件嵌套引用用到的变量 

`${Internal.Entry.Current.Directory}`:当前作业或转换文件所在的目录。

 `${Internal.Entry.Current.Directory.Filename}`:当前作业或转换文件的完整路径和文件名。

 `${Internal.Entry.Filename.Directory}`:当前作业或转换文件的目录。

 `${Internal.Job.Filename.Directory}`:当前作业文件的目录。
 `${Internal.Transformation.Filename.Directory}`:当前转换文件的目录。
 `${Internal.Job.Filename.Name}`:当前作业文件的名称(不包括路径)。
 `${Internal.Transformation.Filename.Name}`:当前转换文件的名称(不包括路径)。

 

4、系统变量,点击type 进行下拉选择自己需要的系统内置变量类型,如下图所示

 

posted @ 2024-01-26 15:34  慕容尘轩  阅读(849)  评论(0编辑  收藏  举报