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条
参考:链接: https://help.aliyun.com/document_detail/146667.htm?spm=a2c4g.11186623.0.0.1f393f9fLZXt3d#section-amt-9t8-8lc.