zoukankan      html  css  js  c++  java
  • 【Kettle】8、变量参数传递介绍

    本文为转载,感觉作者的辛勤劳作: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作业运行结果。

  • 相关阅读:
    C++ generic tools -- from C++ Standard Library
    18 12 18 给服务器添加logging 日志功能
    18 12 14 python提高 装饰器
    18 12 `12 WSGI 协议
    18 12 07 MySQL 与python 的交互
    转 SQL 的数据库 架构规范 之 58到家数据库30条军规解读
    18 12 06 sql 的 基本语句 查询 条件查询 逻辑运算符 模糊查询 范围查询 排序 聚合函数 分组 分页 连接查询 自关联 子查询
    18 12 4 SQL 的基本 语法
    clion 的 安装 变量配置的 搬运工(有点基础应该能看 大家看不懂 就是我自己看 哈哈哈哈哈哈)
    18 11 27 高级的服务器连接 epoll
  • 原文地址:https://www.cnblogs.com/Zeros/p/7550849.html
Copyright © 2011-2022 走看看