dataWorks定时调度传参
Posted 上官沐雪
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dataWorks定时调度传参相关的知识,希望对你有一定的参考价值。
dataWorks定时调度传参
## maxComputer自带的参数,昨天的日期yyyymmdd 花括号
dt='$bdp.system.bizdate'
## maxComputer自带的参数,今天的日期[yyyymmdd] 中括号
dt='$[bdp.system.bizdate]'
## 任务的定时时间,格式为yyyymmddhh24miss
$cyctime
## 当前日期,格式为yyyymmdd
$gmtdate
## 业务月份,格式为yyyymm。
$bizmonth
##---------------日期加减周期 当前时间2019年07月20日10时30分00秒 ---------
调度参数可以配置:
1.取年份
调度参数: datetime=$yyyy ## 结果2019
代码引用:pt=$datetime #### 结果2019
2.取月份
调度依赖中的参数赋值:datetime=$mm
代码中引用:pt=$datetime ## 结果07
3.取日
调度依赖中的参数赋值:datetime=$dd
代码中引用:pt=$datetime ##结果19
代码中引用:pt=$[datetime] ##结果20
4.取年月日(昨天的日期)
调度依赖中的参数赋值:datetime=$yyyy-mm-dd
代码中引用:pt=$datetime ## 结果:2019-07-19
调度依赖中的参数赋值:datetime=$[yyyy-mm-dd-1]
代码中引用:pt=$datetime ## 结果:2019-07-19
5.取上个月的日期
调度依赖中的参数赋值:datetime=$[add_months(yyyymmdd,-1)]
代码中引用:pt=$datetime ## 结果:2019-06-20
6.获取定时时间15分钟前的年、月、日、小时、分钟。
节点类型:以ODPS SQL节点为例。
调度参数配置:
year=$[yyyy-15/24/60]
month=$[yyyymm-15/24/60]
day=$[yyyymmdd-15/24/60]
hour=$[hh24-15/24/60] mi=$[mi-15/24/60]
处理调度参数返回值:select 'year=$year month=$month day=$day hour=$hour mi=$mi';
预期返回格式:
年:yyyy。
月:yyyymm。
日:yyyymmdd。
小时:hh。
分钟:mm。
测试定时时间CYCTIME:20210727000500。
返回值:
year=2021
month=202107
day=20210726
hour=23 mi=50
mysql : substr(updated_at,1,10) = date_format($ten_minutes_ago, '%Y-%m-%d')
dataworks : ten_minutes_ago=$[yyyymmdd-10/24/60]
## 将src按照key从小到大排序后,输出第11到第30行(OFFSET 10指定跳过前10行,LIMIT 20指定最多输出20行)。
SELECT * FROM src ORDER BY key LIMIT 20 OFFSET 10;
## 给角色授权函数和jar包:
grant Read ON Function jiuwu_hash_decode TO role select_dw_role;
grant Read ON Resource nfs_udf_1.0.0.jar TO role select_dw_role;
## 给用户授权函数和jar包:
grant Read ON Function jiuwu_hash_decode TO user RAM$thefenapp:user_name;
grant Read ON Resource nfs_udf_1.0.0.jar TO user RAM$thefenapp:user_name;
##注:使用ODPS SQL节点进行SQL任务开发时,SQL代码大小不能超过130k,SQL命令条数不能超过99条
以上是关于dataWorks定时调度传参的主要内容,如果未能解决你的问题,请参考以下文章