DataStage用户变量活动的变量来源及表达式含义咨询
DataStage用户变量解析
一、两个用户变量的表达式含义
1. start变量
表达式:if start = "" then currentdate else @date
逻辑:如果start变量本身是空值,就用currentdate的结果给它赋值;要是start已经有内容,就用@date的值来赋值。
2. job变量
表达式:dsjobname : "." : dsjobinvocationId
就是把三个内容用.拼接成字符串:作业名称 + 点号 + 作业调用ID,最终生成类似XXXJob.12345的唯一标识,用来区分同一个作业的不同运行实例。
二、各变量/函数的来源
@Date的来源:这是DataStage的系统内置变量,属于作业级环境变量,存储的是作业启动瞬间的系统日期,格式是DataStage默认的日期格式(一般是YYYY-MM-DD),作业运行时自动生成,不用手动定义。CurrentDateRT的来源:属于DataStage的Runtime运行时函数库,调用它会返回当前系统的实时日期,和@Date的区别是,@Date是作业启动时的固定值,而CurrentDateRT每次调用都会取当下的系统日期。DSJobName、DSJOBInvocationId的来源:都是DataStage的内置作业变量:DSJobName:存储当前运行的作业名称,作业启动时由系统自动赋值,全程固定。DSJOBInvocationId:存储作业的调用ID,当同一个作业被多实例调用(比如批量调度重复运行)时,这个ID用来唯一标记每个运行实例,同样是系统自动生成的内置变量,不用手动配置。
内容的提问来源于stack exchange,提问作者buzzy
相关产品推荐
相关产品推荐

