如何在DataWorks V2.0 的 ODPS SQL任务中使用调度参数

在ODPS SQL 中使用调度参数

DataWorks的调度参数分为两种,一种是系统调度参数,另一种是自定义点都参数。

系统调度参数只有两个:
bizdate:获取到业务日期,展示格式为:yyyymmdd;
cyctime:获取到任务实例的定时时间,格式为:yyyymmddhh24miss;

在SQL节点中使用系统调度参数

以下是在SQL代码中的用法,并设置该任务的定时运行时间为00:23分。
image

image

请注意:当代码中使用了调度参数,在界面上直接运行的时候,需要传入一个具体的值,因为直接运行不会经过调度系统,所以参数不会转换,需要输入一个具体的值,该值仅本次运行有效。
image

当任务提交后,点击冒烟测试运行,选择传入的业务日期时间,点击确认。
image

运行结果如下:
image
可以看到,时间都已经被替换了,bizdate获取到了我们传入的业务日期,cyctime获取到了任务的定时时间。

在SQL中使用自定义调度参数

DataWorks 除了支持系统默认调度参数外,还支持自定义调度参数,可以对时间的展示格式进行选择,而且可以在时间数值上进行相加减。

使用自定义调度参数的方法还是一样,先在代码中声明变量,然后给变量赋值。
image

运行结果如下:
image

特别注意:花括号和中括号的用途

image
若对时间表达式的格式有要求,可自行修改,比如:$[yyyy-mm-dd],
注意,如果是DATETIME格式,请拆开成两个变量组合一下,中间用空格隔开。
image

在给参数赋值时,$[] 中写时间表达式即可。

获取+/-周期的方法:

后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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值