本文为转载,感觉作者的辛勤劳作: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. 【数组】Minimum Path Sum

    题目: Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right w ...

  2. leetcode--539. Minimum Time Difference

    Given a list of -hour clock time points in "Hour:Minutes" format, find the minimum minutes ...

  3. 从入门到不放弃系列之Koa2

    一.Koa2入门 本来是想Express入门的,但是既然都是要学,干嘛不学最新的呢? 其实我想说,我本来只是想学个小程序开发,现在已经陆陆续续开了好多坑了.. 本文参考廖雪峰教程 二.Async 最新 ...

  4. Aviator 表达式求值引擎开源框架

    简介¶ Aviator是一个高性能.轻量级的java语言实现的表达式求值引擎,主要用于各种表达式的动态求值.现在已经有很多开源可用的java表达式求值引擎,为什么还需要Avaitor呢? Aviato ...

  5. Ionic3 UI组件之 ImageViewer

    组件特性: 轻触图片可全屏查看 手势上下滑动可关闭全屏查看 点击导航箭头可关闭视图 双击查看全图,并可放大 参考地址:https://github.com/Riron/ionic-img-viewer ...

  6. Session和Cookie之间区别与联系

    一. 概念理解 你可能有留意到当你浏览网页时,会有一些推送消息,大多数是你最近留意过的同类东西,比如你想买桌子,上淘宝搜了一下,结果连着几天会有各种各样的桌子的链接.这是因为 你浏览某个网页的时候,W ...

  7. Android Studio 1.1.0汉化初步出炉!

    我找到去年12月国人汉化的版本,然后迁移上来的.实测支持Android window最新版(1.1.0) 项目分4部分:1压缩好的:2文本分析器:3原生的语言包:4原版语言包备份 现在一些新增的项目没 ...

  8. Notepad++去除COPY代码行号的几种方法

    解2:打开 Notepad++,按住 Alt,鼠标点击拖出选择框,这个是列选 方法,相当拉风: 效果图如下

  9. C# 一个方法如何返回多个值

    通常一个方法只能返回一个值,但是如果在某些时候,我们想要返回多个值,例如某个方法将一个浮点数分割成一个整数和一个小数返回.这个时候我们就要用到out关键字. using System; namespa ...

  10. css中的线及vertical-align

    行内元素格式化顺序: 相关概念:  leading(行间距):指填充在两行文字间的铅条,等于line-height 和 font-size之差,其中一半leading加到文字上方,另一半leading ...