DataWorks调度参数?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在DataWorks中,调度参数是指在调度任务时指定的一些参数,可以用来控制任务的执行方式、数据处理方式等。调度参数可以通过在任务的调度配置中设置或者通过手动触发任务时指定来实现。
具体来说,您可以在DataWorks中设置以下调度参数:
时间调度参数:可以指定任务的调度时间、调度频率、调度间隔等。例如,可以设置任务每天凌晨1点自动执行,或者每10分钟执行一次等。
数据调度参数:可以指定任务的输入输出参数、数据格式、数据分区等。例如,可以指定任务输入的数据源、数据表、数据字段等,或者指定任务输出的数据表、数据格式、数据分区等。
执行调度参数:可以指定任务的执行方式、执行优先级、执行并发度等。例如,可以指定任务的执行方式为串行或并行、执行优先级为高、执行并发度为10等。
环境调度参数:可以指定任务执行时的环境变量、资源配置等。例如,可以指定任务执行时的JVM参数、内存限制、CPU配置等。
在阿里云DataWorks中,调度参数是用于配置和控制任务的执行方式和行为的一种机制。通过设置调度参数,您可以灵活地控制任务的调度时间、传递参数、失败重试等。
以下是一些常见的DataWorks调度参数及其说明:
执行日期(bizdate):指定任务的执行日期,通常与数据处理任务相关。可以在任务中引用该参数来处理特定日期的数据。
执行时刻(hour、minute、second):指定任务的具体执行时间,精确到小时、分钟或秒。
偏移量(offset):允许您相对于调度时间进行时间偏移。可以设置为正值表示将任务推迟执行,负值表示提前执行。
参数传递(context):通过参数传递机制,您可以在任务之间传递数据。可以在一个任务中设置参数值,并在后续任务中引用这些参数值。
任务超时时间(tasktimeout):指定任务的最大执行时间。如果任务在超过此时间后仍未完成,则会被认为失败并触发相应的错误处理。
失败重试次数(retry):指定任务失败后的重试次数。当任务执行失败时,DataWorks将根据设置的重试次数自动重新执行任务。
失败告警(notify):可以设置任务失败时是否发送告警通知,以便及时了解任务的执行情况。
这些是一些常见的DataWorks调度参数,根据具体需求,您可以在任务的调度配置中设置适当的参数,以满足任务运行的需求。
【调度参数分类】 根据调度参数能否在代码中直接使用可以分为:系统内置变量,自定义参数。
A1:调度参数配置: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]
实现效果:
定时时间为20210727000500的取到的调度参数如下
SKYNET_PARAVALUE=year=2021 month=202107 day=20210726 hour=23 mi=50:
定时时间为20210727003000取到的调度参数如下
SKYNET_PARAVALUE=year=2021 month=202107 day=20210727 hour=00 mi=15:
Q2:如何结合调度参数取上个月的最后一天 > >A2:相关语料“结合调度参数取上个月最后一天” > --- 【相关文档:】 - 调度参数配置 - DataWorks:通过业务时间维度来看自定义参数“[ ]”与“{ }”的区别
【常用调度参数列表】假设定时时间是2022-10-01 00:10:59
取昨天的年月日:arg=$[yyyymmdd-1] 或arg=$[yyyy-mm-dd-1]或arg=$[yyyy/mm/dd-1]等 调用unknown
取昨天的年月日时分秒:返回值2022-09-31 00:10:59 需配置两个参数arg1=$[yyyymmdd-1] arg2=$[hh24:mi:ss] 调用'unknown unknown'
取今天的年月日: arg=$[yyyymmdd]等
取今天的年月日时分秒:返回值2022-10-01 00:10:59 配置两个参数arg1=$[yyyymmdd] arg2=$[hh24:mi:ss] 调用'unknown unknown'
取15分钟前的年、月、日、小时、分钟: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]
取1小时前的日、小时:day=$[yyyymmdd-1/24] hour=$[hh24-1/24]
取昨天时间区间:beginDateTime=$[yyyymmdd-1]000000 endDateTime=$[yyyymmdd]000000
取上一小时时间区间:beginDateTime=$[yyyymmddhh24-1/24]0000 endDateTime=$[yyyymmddhh24]0000
,此回答整理自钉群“DataWorks交流群(答疑@机器人)”
DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。