Dataworks调度参数配置和使用
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
DataWorks调度参数是DataWorks任务调度时使用的参数,调度参数赋值变量的情况下会根据任务调度的时间自动替换为具体的值。
1. 参数定义与配置
可以在代码中通过**${自定义变量名}**定义代码中的变量,并在调度配置>参数处为代码中的变量进行赋值,支持赋值常量与变量。具体参考下文《参数赋值》。
2. 参数赋值
● 基于定时时间(今天)取值:$[...],支持自定义时间格式,可取多少天、多少小时、多少分钟前。例如,$[mi±N/24/60]、$[yyyymmddhh24miss]、$[yyyy-mm-dd-1/24] 。注意:定时时间以小时分钟为维度进行加减。更多定时时间取值格式请参见调度参数文档>自定义参数$[...]部分。
● 基于业务日期(昨天)取值:${...}:支持自定义时间格式,可取多少天前、多少月前,多少年前。例如: ${yy±N} 、 ${yyyymmdd} 。 更多业务日期取值格式请参见调度参数文档>自定义参数${...}部分。
说明:平台也提供部分内置变量,其格式固定,但建议通过上述方式自定义时间格式,使用更灵活。
3. 扩展使用:
● 通过引擎函数进行二次加工。若上述格式无法直接获取预期格式的参数赋值,可先通过上述格式获取时间类型的参数,再在代码中通过引擎函数对调度参数赋值结果进行二次处理。例如,通过引擎函数将时间格式的内容加工为时间戳。
● 在代码中进行字符串拼接,例如:${mm}01
4. 注意事项
● 取N年前、N月前的时间数据请使用${…}格式。
● 取N小时前、N分钟前的时间数据请使用$[…]格式。
● 代码中的变量名可自行定义,部分节点会自带一个${bizdate}的变量名,代码中的该变量名无特殊含义。
● $[...]根据实例定时时间取值,调度参数替换值在实例生成时已经确定,所以调度参数的替换值不会随着实例实际运行时间的改变而改变。
● 取多少小时、分钟可能存在0点天级别参数替换不符合预期的问题,关于天级别往前取一小时参数处理, 详情请参见:调度参数往前取一个小时,如何处理跨天参数替换的问题。
5. 相关文档
● 调度参数在数据集成的使用场景(动态表名/文件名/增量同步)
● 测试调度参数
DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。