dataWorks定时调度传参

dataWorks定时调度传参


## maxComputer自带的参数,昨天的日期{yyyymmdd} 花括号
dt='${bdp.system.bizdate}'

## maxComputer自带的参数,今天的日期[yyyymmdd] 中括号
dt='$[bdp.system.bizdate]'


## 任务的定时时间,格式为yyyymmddhh24miss
$cyctime	

## 当前日期,格式为yyyymmdd
$gmtdate


## 业务月份,格式为yyyymm。
$bizmonth	





##---------------日期加减周期  当前时间20190720103000---------
调度参数可以配置:	
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。

测试定时时间CYCTIME20210727000500。
返回值:
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.

你可能感兴趣的:(大数据,sql,odps)