kettle參数、变量具体解说

kettle參数、变量具体解说

kettle 3.2 曾经的版本号里仅仅有 variable 和 argument,kettle 3.2 中。又引入了 parameter 概念。variable 即environment variables(环境变量或全局变量)。即使是不同的转换它们也拥有相同的值;而argument(位置參数)和parameter(命名參数),能够映射为局部变量,仅仅针对一个特定的转换,比方像是限定结果集的大小和过滤条件。

1、     variable(变量)

variables 也能够觉得叫做environment variables , 就像它的名字一样。主要是用来设定环境变量的,比方最常见的:文件的存放地址,smtp的配置等等。你也能够把它觉得是编程语言里面的全局变量。即使是不同的转换它们也拥有相同的值;

变量能够用在转换或作业中,能够通过在转换中使用 Set Variable 步骤定义或在kettle.properties文件里定义。文件的路径默认例如以下:

$HOME/.kettle (Unix/Linux/OSX)

C:\Documents andSettings\<username>\.kettle\ (Windows)

C:\Users\<username>\.kettle\(Windows Vista)

 

1.1、kettle.properties文件里定义全局变量

      打开文件。直接在里面定义,如: TODAY=to_char(sysdate,‘yyyy-mm-dd‘),这里支持数据库函数,说的更直白点,就是这里定义是个啥,那么在transformation里边取到的它就是啥。在须要的地方,直接%%V_YES_DATE%%。或者${V_YES_DATE}就能够得到。须要提醒的是假设编辑中文。须要navationtoascii工具或在eclipse中编辑。定义后保存重新启动spoon才生效。

 

2、     garument(位置參数)

      kettle 3.2 曾经的版本号里仅仅有 argument,也叫Positional arguments,就是最多能设置的 10 个命令行參数。通过在命令行參数的位置来差别

3、     parameter(命名參数)

在 kettle 3.2 中,又引入了 parameter 概念,能够通过名称来差别,并能够在命令行中通过/param:name=value 的方式设置设置參数, 另外/listparam 能够列出一个ktr 或 kjb 里定义的parameter。

命名參数能够在转换或作业的设置对话框中定义,定义时给定默认值;当在SPOON中执行作业或转换时。在执行对话框中输入命名參数的值。

在命令行中执行时,也能够通过-param:name=value给每一个命名參数赋值,param:name=value在命令行中一个总体块。视为命令的一个參数。

例:执行job.kjb文件,有两个參数files.dir=/opt/files 、max.date=2010-06-02

Linux: ./kitchen.sh-file:job.kjb -param:files.dir=/opt/files -param:max.date=2010-06-02

Windows: Kitchen.bat -file:job.kjb “-param:files.dir=/opt/files”“-param:max.date=2010-06-02″

命名參数可作为变量,在执行时命名參数并映射为变量。假设你定义了命名參数为foo,你能够在不论什么地方引用通过${foo}.

时间: 2024-10-11 02:26:08

kettle參数、变量具体解说的相关文章

java之 ------ 可变參数和卫条件

可变參数:适用于參数个数不确定.类型确定的情况,java把可变參数当做数组处理. 可变參数必须位于最后一项.当可变參数个数多于一个时,必将有一个不是最后一项,所以仅仅支持有一个可变參数. 可变參数的书写形式如: int add(int x,int ...args){  方法体 } ... 位于变量类型和变量名之间.前后有无空格都能够: 调用可变參数的方法时.编译器为该可变參数隐含创建一个数组,在方法体中以数组的形式訪问可变參数. 条件逻辑推断型的应用(模拟人工推理) /* 有人邀请A,B,C,D

c 语言函数可变參数的处理

/************************************************************************* > File Name: va_list.c > Author: zshh0604 > Mail: [email protected] > Created Time: 2014年10月14日 星期二 15时16分09秒 **********************************************************

setsockopt()使用方法(參数具体说明)

int setsockopt(SOCKET s,int level,int optname,const char* optval,int optlen); s(套接字): 指向一个打开的套接口描写叙述字level:(级别): 指定选项代码的类型.SOL_SOCKET: 基本套接口IPPROTO_IP: IPv4套接口IPPROTO_IPV6: IPv6套接口IPPROTO_TCP: TCP套接口optname(选项名): 选项名称optval(选项值): 是一个指向变量的指针 类型:整形,套接口

android 利用cmdline,将參数从preloader传递到kernel

以定义參数 cus_param 为例.int型变量. 1. Preloader部分 Platform.h(mediatek\platform\[$platform]\preloader\src\drivers\inc\platform.h) 在例如以下结构体中加cus_param变量.假设是char型,请注意4byte对其: typedef struct { u32 magic; boot_mode_t mode; u32 e_flag; u32 log_port; u32 log_baudra

Python命令行选项參数解析策略

概述 在Python的项目开发过程中,我们有时须要为程序提供一些能够通过命令行进行调用的接口.只是,并非直接使用 command + 当前文件 就ok的,我们须要对其设置可选的各种各样的操作类型.所以,这样的情况下我们就有必要对传入的參数进行解析操作. 以下就此问题提出几种不同的解决策略.希望于你故意. 版权说明 著作权归作者全部. 商业转载请联系作者获得授权,非商业转载请注明出处. 作者:Coding-Naga 发表日期: 2016年3月18日 链接:http://blog.csdn.net/

Java參数传递方式

原文:http://blog.sina.com.cn/s/blog_59ca2c2a0100qhjx.html,我作了些改动并添加了一个实例,添加对照 本文通过内存模型的方式来讨论一下Java中的參数传递. 1.基本类型參数的传递方式 这里的内存模型涉及到两种类型的内存:栈内存(stack)和堆内存(heap).基本类型作为參数传递时,传递的是这个值的拷贝. 不管你怎么改变这个拷贝,原值是不会改变的. 看下边的一段代码,然后结合内存模型来说明问题: public class ParameterT

grep命令參数及使用方法

功能说明:查找文件中符合条件的字符串. 语 法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或文件夹...] 补充说明:grep 指令用于查找内容包括指定的范本样式的文件,假设发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来.若不指定

C语言利用va_list、va_start、va_end、va_arg宏定义可变參数的函数

在定义可变參数的函数之前,先来理解一下函数參数的传递原理: 1.函数參数是以栈这样的数据结构来存取的,在函数參数列表中,从右至左依次入栈. 2.參数的内存存放格式:參数的内存地址存放在内存的堆栈段中,在运行函数的时候,从最后一个(最右边)參数開始入栈.因此栈底高地址,栈顶低地址,举个样例说明一下: void test(int a, float b, char c); 那么,在调用test函数的时候,实參char c先进栈,然后是float b,最后才是int a,因此在内存中变量的存放次序是c-

管理线程之向线程函数传递參数

向线程函数传递參数在构造线程对象时就可以完毕.可是要记住,默认情况下是把參数复制到线程内部,即使在函数中使用的是引用.比如 void f(int i,std::string const &s); std::thread t(f,3,"hello"); 上面代码中,函数f的第二个參数是std::string,传递的是char const *会转换为string. 当使用指针指向自己主动变量时.要特别注意: void f(int i, std::string const&