作者:陈剑冬  历史版本:1  最后编辑:陈剑冬  更新时间:2024-05-27 17:04

功能简介

该步骤允许在作业或转换中设置变量。它接受一行(且仅一行)数据来设置变量的值。

注意:不能在相同的转换中设置和使用同一个变量,这是因为所有步骤都是并行运行的。但可以设置要在作业的第一次转换中使用的变量,另外注意设置变量只接受一条数据。

基本配置

  • 步骤名称:指定设置变量的步骤名称,该名称在同一转换中唯一。
  • apply formatting:设置此选项后,它会根据格式选项设置值(日期、数字等)的格式。否则,不会进行格式化。
  • 字段名称:所用字段的名称。
  • 变量名:要设置的变量的名称(不带 ${…} 或 %%…%% 符号)。
  • 变量活动范围:定义变量的作用域,可能的选项有
    • Valid in the Java Virtual Machine:整个虚拟机将知道此变量。
    • Valid in the parent job:变量仅在父作业中有效
    • valid in the grand-parent job:该变量在祖父作业以及所有子作业和转换中有效。
    • Valid in the root job:变量在根作业以及所有子作业和转换中有效。
  • default value:字段默认值。

使用示例

通常情况下,用户可以通过“获取系统信息”组件获得系统环境变量,也可以通过“设置变量”组件,定义虚拟机和任务中的变量。在项目中,会经常利用生产环境或外围系统交互的FTP文件接口,获取固定格式的数据文件。

需求描述:某生产系统每天会定时推送数据文件,为了获得日期变量并每天读取由生产系统推送的数据文件,需要使用设置变量组件,将每天的0点时间设置为systemTime变量,将变量获取的日期时间插入到数据表中。

  1. 设计转换

  2. 获取系统信息,将当天00:00:00的数据存储在systemTime变量中

  3. 设置systemTime变量,注意变量名无需加引用$符号

  4. 设置输出后,点击运行,查看输出结果