kettle Variables+Arguments+Parameters简介

来源:互联网 发布:删除mac上的软件 编辑:程序博客网 时间:2024/05/22 06:17

1. Kettle变量——Variables

1.1. Variables

PDI变量可以被用在作业和转换步骤中,可以使用如下几种方法定义变量:

  • 编辑kettle.properties文件
  • 在edit按钮中选择Set Environment Variables对话框
  • 在转换中使用set variable步骤

1.2. Variable Scope

有两种类型的变量:Environment Variables 和Kettle Variables,上面第二种方式产生的是Environment Variables,其他两种方式产生的是Kettle Variables,在使用第三种方式定义变量时可以选择the parent job, grandparent job, or the root job等作用域
设置Kettle Variables(编辑kettle.properties)

  • A:Edit->edit the cattle.properties file
  • B:手动设置:编辑kettle.properties文件

    文件位置:

$HOME/.kettle (Unix/Linux/OSX)C:\Documents andSettings\<username>\.kettle\ (Windows)

1.3. Internal Variables

Kettle内部预先定义了一些变量,可以通过在输入框按Ctrl+Space查看到

2. Kettle位置参数——Arguments

Arguments是用户提供的单值输入,每个转换或者作业可以定义最多10个位置参数,每个参数之间使用空格分隔。如果在作业或者转换中没有处理相应的位置参数,那么传入的参数无效。

2.1 位置参数使用说明

kitchen.sh -file argument.kjb jimmy tina jone jane

在使用位置参数时,一定要将字段的type设置成command line argument 1 to 10, 目前kettle支持最多10个位置参数,这种方式目前我只发现在输入为get system info时可用。

3. Kettle命名参数——Parameters

Parameters类似于局部变量,他们只在定义他们的转换或作业中有效,在设置的时候可以指定一个默认值,也可以不指定。

3.1 命名参数使用说明

kitchen.sh -file ftp2Local2Hdfs.kjb -param:targetdirectory=/data

注意:在使用-param添加参数前,必须在job文件的全局parameters(命名参数)指定同名参数,这里的Default value可以为空,如果不指定,会报如下异常:

Unexpected error : java.io.FileNotFoundException: /home/jimmy/data/${targetdirectory}/import.txt (No such file or directory)
0 0
原创粉丝点击