您的位置 首页 > 娱乐休闲

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

摘要:DataWorks提供了系统调度参数,调度系统会根据调度参数的配置,结合当前的业务日期,将调度参数转换为具体的时间。

在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]


本文来自阿里云云栖社区,未经许可禁止转载。

更多资讯,尽在云栖科技快讯~

来科技快讯看新闻鸭~

快点关注我认识我爱上我啊~~~

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“如何使用sql文件中的参数设置”边界阅读