在ODPS SQL 中使用调度参数
DataWorks的调度参数分为两种,一种是系统调度参数,另一种是自定义调度参数。
系统调度参数只有两个:
bizdate:获取到业务日期,展示格式为:yyyymmdd;
cyctime:获取到任务实例的定时时间,格式为:yyyymmddhh24miss;
在SQL节点中使用系统调度参数
以下是在SQL代码中的用法,并设置该任务的定时运行时间为00:23分。
请注意:当代码中使用了调度参数,在界面上直接运行的时候,需要传入一个具体的值,因为直接运行不会经过调度系统,所以参数不会转换,需要输入一个具体的值,该值仅本次运行有效。
当任务提交后,点击冒烟测试运行,选择传入的业务日期时间,点击确认。
运行结果如下:
可以看到,时间都已经被替换了,bizdate获取到了我们传入的业务日期,cyctime获取到了任务的定时时间。
在SQL中使用自定义调度参数
DataWorks 除了支持系统默认调度参数外,还支持自定义调度参数,可以对时间的展示格式进行选择,而且可以在时间数值上进行相加减。
使用自定义调度参数的方法还是一样,先在代码中声明变量,然后给变量赋值。
运行结果如下:
特别注意:花括号和中括号的用途
若对时间表达式的格式有要求,可自行修改,比如:$[yyyy-mm-dd],
注意,如果是DATETIME格式,请拆开成两个变量组合一下,中间用空格隔开。
在给参数赋值时,$[] 中写时间表达式即可。
获取+/-周期的方法:
后N年:$[yyyy+N]
前N年:$[yyyy-N]
后N月:$[yyyymm+N]
前N月:$[yyyymm-N]
后N周:$[yyyymmdd+7*N]
前N周:$[yyyymmdd-7*N]
后N天:$[yyyymmdd+N]
前N天:$[yyyymmdd-N]
后N小时:$[yyyymmddhh24miss+N/24]
前N小时:$[yyyymmddhh24miss-N/24]
后N分钟:$[yyyymmddhh24miss+N/60/24]
前N分钟:$[yyyymmddhh24miss-N/60/24]
关于在SQL中使用调度参数,还有任何疑问,可以加入DataWorks的钉钉群,群号如下:
DataWorks数加交流0群(群号:11718465)