以下只是本人在使用过程中一些经验,可能有误解不对的地方,希望大家指正。

这个控件可以在job中调用,也可以在transformation中使用。下面将分别说明在两个不同任务中调用时的使用方法和需要注意事项。

一、在job任务中使用

在job中设置变量一般都是设置全局变量,在不同转换间使用。首先需要Get System Info用来检索变量,因为我们一般会用来设置时间、路径等一些变量

系统进行检索

第一列选择变量名称,然后选择type找到你需要的类型。如果想把你的输入信息设置为变量,type应该选择command line argument 1.

双击Set Variables, 点击获取变量会获取到你定义的变量,以后调用时加上${变量名}就可以使用了。

设置变量名和值以及属性

valid in the virtual machine: 整个虚拟机将知道这个变量

valid in the parent job:变量仅在父任务中可用

valid in the grand-parent job:变量仅在组父任务中可用

valid in the root job:变量仅在根任务中可用

注意事项:

1. 只接受一行(只能一行)数据来设置变量

2.在本转换中不能调用此变量,因为数据是并行传送的

二、在转换中设置字段为变量参数

新建设置参数的job
指的是参数名和字段来源(就是想用来设置成变量的字段)
 
因为数据是一行一行传来,需要接受每一行数据,而不是只要第一行
 
设置变量job里面的内容

在这个job里面需要填写参数名,不然这个job将会获取不到上一步传过来的字段。

设置job里面的属性设置

将输入字段设置为参数, value填写形式如下。

变量设置格式

后面就和全局变量一样可以调用了。

三、在转换中设置变量参数

设置常量或者路径为变量
 

如果设置参数值为常量或数字,则value可以直接,如上图5所示

如果设置路径作为变量(value里还可以包含变量值),如上6,7。注意的是在调用路径变量的时候加单引号‘’,我是在后面引用变量的时候加的,所以设置的时候没有加,当然也可以在设置value得时候就添加变量,那么在调用的时候就不需要添加单引号了。

kettle 设置变量的更多相关文章

  1. KETTLE设置变量

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

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

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

  3. kettle转换设置变量,校验输出新变量

    背景:有很多小的转换需要串联起来,如果前一个执行成功,后面继续接着执行,如果执行等待中,就让程序等一会再次获取数据分析,如果失败就中止,成功就进行下一个转换,以此类推.... 需求:通过job把参数传 ...

  4. Kettle_设置变量的两种方法

    一个复杂的kettle作业一般包括很多子作业和转换,在主作业Start后通常会添加一个[设置变量]的流程,该流程的功能是为所有流程的公共变量设置通用值.       主作业添加的[设置变量]针对的是所 ...

  5. postman提取接口的返回值及动态设置变量(一)

    一.提取接口返回值   1.当返回值是返回JSON时 let json = JSON.parse(responseBody); // responseBody是包含整个返回内容的字符串 let foo ...

  6. postman—环境切换和设置变量

    postman提供了environment管理功能,想要在多个环境中测试,比如在测试环境.灰度环境.生产环境等,只需要用同样的接口,切换下环境即可,非常方便.具体步骤: 一.切换环境 1.点击界面右上 ...

  7. linux 服务注册 service文件 在service文件中设置变量和环境变量

    [Unit] Description=  #服务描述 After=syslog.target     #服务启动依赖 [Service] Type=forking          #服务启动类型 可 ...

  8. 6-x3 declare和typeset命令:设置变量属性

    declare 和 typeset 都是 Shell 内建命令,它们的用法相同,都用来设置变量的属性.不过 typeset 已经被弃用了,建议使用 declare 代替.declare 命令的用法如下 ...

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

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

随机推荐

  1. MySQL -进阶

    一.视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用 SELECT * FROM(SELE ...

  2. Smart Battery Specification Revision 1.1

    1.SBS Specifications 2.System Management Bus (SMBus) Specification

  3. [转]FPGA网站推荐

    1. OPENCORES.ORG这里提供非常多,非常好的PLD了内核,8051内核就可以在里面找到.进入后,选择project或者由http//www.opencores.org/browse.cgi ...

  4. Mongodb之备份恢复脚本

    本分脚本: !/bin/bash #备份文件执行路径 which mongodump DUMP= #临时备份目录 OUT_DIR= #本分存放目录 TAR_DIR= #获取当前系统时间==> 2 ...

  5. Cocoapods完整使用篇

    温馨提示:在篇文章中所使用的Xcode版本为Xcode7.   一.什么是CocoaPods? 简单来说,就是专门为iOS工程提供对第三方库的依赖的管理工具,通过CocoaPods,我们可以单独管理每 ...

  6. Jquery EasyUI弹出窗体

    $("#btnCreate").click(function () { $("#modalwindow").html("<iframe widt ...

  7. 【BZOJ4238】电压 DFS树

    [BZOJ4238]电压 Description 你知道Just Odd Inventions社吗?这个公司的业务是“只不过是奇妙的发明(Just Odd Inventions)”.这里简称为JOI社 ...

  8. EasyPlayer-RTSP播放器:从底层到上层专注于RTSP播放Windows、Android、iOS RTSP Player

    EasyPlayer-RTSP播放器是一套RTSP专用的播放器,包括有:Windows(支持IE插件,npapi插件).Android.iOS三个平台,是由EasyDSS团队开发和维护的区别于市面上大 ...

  9. for (const k in v){ 变量作用域

    for (const k in v){       const a=[11,22,33,44]for(let i in a ){console.log(i)i=i+1}console.log('--- ...

  10. mysql一:操作数据库

    创建数据库是指在数据库空间中划出一块空间用来存储相关的数据,表就是存储在对应的数据库里面.首先来看下查看数据库的命令:show databases. 这个是用来查询数据库空间下所有的数据库,其中inf ...