本文为转载,感觉作者的辛勤劳作:http://blog.csdn.net/rotkang/article/details/21008271

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

对于ETL参数传递是一个很重要的环节,因为参数的传递会涉及到业务数据是如何抽取。下面我为大家举例一个简单的需求。

需求说明:需要抽取昨天的数据装载到目标表中。

 概念篇

1、参数作用域?

答:Kettle中参数大致可分为两类:一类是全局参数,一类是局部参数。

2、  参数如何定义?

答:A:全局参数定义是通过当前用户下.kettle文件夹中的kettle.properties文件来定义。定义方式是采用键=值对方式来定,如:start_date=20130101

  注:在配置全局变量时需要重启Kettle才会生效。

  B:局部参数变量是通过“Set Variables”与“Get Variables”方式来设置。

  注:在“Set Variables”时在当前转换当中是不能马上使用,需要在作业中的下一步骤中使用,大家可以思考下什么时候用到“Set Variables”,什么时候用到“GetVariables”

参数使用优先级顺序:全局变量-->局部变量-->本身变量

3、  参数如何使用?

答:Kettle中参数使用方法有两种:一种是%%变量名%%,一种是${变量名}。这两种方法变量数据类型都是数字类型。

  注:在SQL中使用变量时需要把“是否替换变量”勾选上,否则无法使变量生效。

实现需求篇

1、  创建相应的参数变量设置转换(Set_Param.ktr)与数据流抽取转换(RotKang_Test01.ktr)。

问:通过什么方式来获取昨天日期作为参数?

答:我们可以通过“获取系统信息”组件获取昨天日期,再通过字段选择转换成yyyy-mm-dd格式,最后设置成变量,设置参数变量为${YESTERDAY}。

获取相关的日期参数,昨天日期。(图8.0)

由于获取日期是到时分秒,通过字段选择转换成年月日格式。(图8.1)

设置参数,点确定时会提示大致意思是“设置的参数不能在当前转换中使用”。(图8.2)

2 、由于数据流抽取 (RotKang_Test01.ktr)转换上已经完成,但是还没有设置参数使用,设置参数后如下图:(图8.3)

3、最后使用Job把整个流程串连起来,如下图:(图8.4)

最后测试RotKang_Test.kjb作业运行结果。

【Kettle】8、变量参数传递介绍的更多相关文章

  1. linux shell自定义函数(定义、返回值、变量作用域)介绍

    http://www.jb51.net/article/33899.htm linux shell自定义函数(定义.返回值.变量作用域)介绍 linux shell 可以用户定义函数,然后在shell ...

  2. PHP类的静态(static)方法和静态(static)变量使用介绍

    PHP类的静态(static)方法和静态(static)变量使用介绍,学习php的朋友可以看下     在php中,访问类的方法/变量有两种方法: 1. 创建对象$object = new Class ...

  3. kettle中变量的设置和使用介绍

    有没有能统一管理一个参数,然后让所有的transformation和job都可以读到呢? 答案是有 1.首先,打开.kettle\kettle.properties(个人主机是:C:\Users\fo ...

  4. kettle中含有参数传递的定时任务

    (1)新建一个作业(新建->作业),并在控制面板右键: (2)设置一个命令参数: (3)把作业的参数传递给转换: (4)在转换中右键设置转换属性: (5)接收作业中设置的传递参数: (6)参数的 ...

  5. kettle系列-我的开源kettle管理平台[kettle-manager]介绍

    kettle管理工具 专门为kettle这款优秀的ETL工具开发的web端管理工具. 项目简介 kettle作为非常优秀的开源ETL工具得到了非常广泛的使用,一般的使用的都是使用客户端操作管理,但问题 ...

  6. c语言学习之基础知识点介绍(一):输出语句和变量简单介绍

    本系列是为了学习ios做准备的,也能作为c语言入门的教程看看. c语言的程序结构: 1.顺序结构:自上而下依次执行. 2.分支结构:程序有选择的执行某段代码或者不执行某段代码. 3.循环结构:程序循环 ...

  7. kettle环境变量的设置和获取

    1. 变量的类型Kettle 的早期版本中的变量只有系统环境变量目前版本中(3.1) 变量包括系统环境变量, "Kettle变量" 和内部变量三种 系统环境变量的影响范围很广,凡是 ...

  8. KETTLE设置变量

    一.kettle变量类型 kettle变量分为: 1.环境变量 通过 set variables组件设置变量,范围可以是:JVM变量.作业变量.父作业变量.根作业变量.使用时通过${var}或 %%v ...

  9. Linux基础教程 linux awk内置变量使用介绍

    awk是个优秀文本处理工具,可以说是一门程序设计语言.下面是兄弟连Linux培训 给大家介绍的awk内置变量. 一.内置变量表 属性 说明 $0 当前记录(作为单个变量) $1~$n 当前记录的第n个 ...

随机推荐

  1. LogCat里的错误提示 FATAL EXCEPTION: main

    程序一运行闪退. 原因为包冲突,将冲突的包删除即可.

  2. 忽略“Signal: SIGSEGV (Segmentation fault)”

    1. touch ~/.gdbinit 2. 在.gdbinit文件中添加“handle SIGSEGV nostop noprint pass”

  3. 深入理解Java虚拟机:垃圾收集器与内存分配策略

    目录 3.2 对象已死吗 判断一个对象是否可被回收 引用类型 finalize() 回收方法区 3.3. 垃圾收集算法 1.Mark-Sweep(标记-清除)算法 2.Copying(复制)算法 3. ...

  4. GDAL并行I/O

    和导师在Transactions in GIS 上发表的关GDAL并行I/O方面的文章(SSCI, IF=0.906)http://onlinelibrary.wiley.com/doi/10.111 ...

  5. java 集合框架小结

    一:集合框架  集合框架是为表示和操作集合而规定的一种统一的标准的体系结构.  任何集合框架都包含三大块内容:对外的接口.接口的实现和对集合运算的算法.   接口:即表示集合的抽象数据类型.Colle ...

  6. Web--CSS控制页面(link与import方式区别)

    先了解: [1]         “Table”和“DIV”这两个网页元素诞生的目的不同,首先Table诞生的目的是为了存储数据,而DIV诞生的目的就是为了架设页面结构 W3C,是World Wide ...

  7. 美赛LaTeX急救指南

    目录 1 关于easymcm宏包的基本信息,以及编译系统的若干问题 2 图片.表格.数学公式.网址的处理 3 样式.字体字号.段落的设置 4 目录.交叉引用的相关问题 关于标题不能换行的问题:这里有解 ...

  8. Jquery Easy UI初步学习(三)数据增删改

    第二篇只是学了加载用datagrid加载数据,数据的增删改还没有做,今天主要是解决这个问题了. 在做增删改前需要弹出对应窗口,这就需要了解一下EasyUi的弹窗控件. 摘自:http://philoo ...

  9. [日常] GO语言圣经-并发获取多个URL

    go语言圣经-并发获取多个URL 1.GO最新奇的特性就是对并发编程的支持,goroutine和channel 2.goroutine是一种函数的并发执行方式,而channel是用来在goroutin ...

  10. HDU3085(KB2-G 双向bfs)

    Nightmare Ⅱ Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...