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


    有没有能统一管理一个参数,然后让所有的transformation和job都可以读到呢? 答案是有

    1.首先,打开.kettlekettle.properties(个人主机是:C:Usersfor_elegant.kettle),直接在里面定义,(注意这个文件需要与spoon.bat放在同一个目录下面)比如:
    paramName=to_char(sysdate,'yyyymmdd') 这里支持数据库函数,
    说的更直白点,就是这里定义是个啥,那么在transformation里边取到的它就是啥。

    2.定义之后,保存,重启spoon。

    3.在需要的地方,直接%%paramName%%,或者${paramName}就可以得到。
    举例:

    1. SELECT COLUMN1,COLUMN2 FROM TESTTABLE WHERE to_char(cdate,'yyyymmdd')=${paramName}  


    或者

    1. SELECT COLUMN1,COLUMN2 FROM TESTTABLE WHERE to_char(cdate,'yyyymmdd')=%%paramName%%  



    也有人说${}这种方式是在linux下的,%%%%是在windows下的,反正我在windows下这两种写法均可。
    最后别忘了把那个替换SQL语句里的变量这个勾上

    如果在SQL语句中需要用到?作为参数 则需要使用从步骤插入数据而使用变量时则不需要使用此步骤

    有没有能统一管理一个参数,然后让所有的transformation和job都可以读到呢? 答案是有

    1.首先,打开.kettlekettle.properties(个人主机是:C:Usersfor_elegant.kettle),直接在里面定义,(注意这个文件需要与spoon.bat放在同一个目录下面)比如:
    paramName=to_char(sysdate,'yyyymmdd') 这里支持数据库函数,
    说的更直白点,就是这里定义是个啥,那么在transformation里边取到的它就是啥。

    2.定义之后,保存,重启spoon。

    3.在需要的地方,直接%%paramName%%,或者${paramName}就可以得到。
    举例:

    1. SELECT COLUMN1,COLUMN2 FROM TESTTABLE WHERE to_char(cdate,'yyyymmdd')=${paramName}  


    或者

    1. SELECT COLUMN1,COLUMN2 FROM TESTTABLE WHERE to_char(cdate,'yyyymmdd')=%%paramName%%  



    也有人说${}这种方式是在linux下的,%%%%是在windows下的,反正我在windows下这两种写法均可。
    最后别忘了把那个替换SQL语句里的变量这个勾上

    如果在SQL语句中需要用到?作为参数 则需要使用从步骤插入数据而使用变量时则不需要使用此步骤

    如果使用变量(${变量命名})如果是字符串则需要加'号('${变量名}')

     

  • 相关阅读:
    hdu 1569 方格取数(2) 最大权独立集
    TCL脚本语言基础介绍
    Ubuntu10.04下Ckermit的使用
    LPC2468 Keil里设置RAM或Flash调试方法
    发布Android程式步骤
    Vim使用笔记(1): 安装
    在Android SDK里新建虚拟机出现:could not find virtual device named 'xxx'的解决办法
    git简单入门教程
    Jlink调试LPC2468
    Openrd 烧录uboot步骤
  • 原文地址:https://www.cnblogs.com/jijm123/p/16416644.html
Copyright © 2020-2023  润新知