DataWorks如何调度参数节点定时时间为每天20:00,节点内参数取值为定时时间($cyctime或者$[yyyymmddhh24miss]),由于上游节点执行异常导致当前节点第二天0:00才调起,这个时候参数取值是20:00还是0:00?
在阿里云 DataWorks 中,您可以配置参数节点的定时时间为每天 20:00。具体来说,您可以在 DataWorks 控制台中创建一个参数节点,并配置它的定时任务。在配置定时任务时,您可以选择“每天”作为任务周期,并设置任务执行时间为每天的 20:00。配置完成后,参数节点将在每天的 20:00 执行,并输出结果。请注意,在配置定时任务时,您需要确保 DataWorks 试用账户有足够的资源配额,包括 Data Integration 数据同步资源和 MaxCompute 计算资源等。
在DataWorks中,节点内参数的取值是在节点调度时确定的。对于您描述的情况,如果由于上游节点执行异常导致当前节点第二天0:00才被调起,那么节点内参数的取值将是0:00 而不是20:00。
当节点被调度执行时,DataWorks会根据调度时间确定参数的取值。在您的情况下,节点被推迟到第二天0:00执行,因此参数取值将反映这个实际的执行时间。
如果您希望参数取值一直保持为每天的20:00,即使节点执行被推迟到第二天0:00,您可以考虑使用固定的时间戳作为参数取值,而不是依赖于调度时间。例如,可以在节点内部使用to_char(current_timestamp, 'yyyymmdd') || '200000'
这样的表达式来获取固定的20:00时间戳。
实例的定时时间可以理解为预期状态下实例运行时间,定时时间与实例实际运行时间是可能存在差异的(任务实际运行时,可能会因为等待资源等原因导致实际运行时间与定时时间不一致,实例定时时间是绝对的,不会随着实例的运行时间改变而改变),调度参数这里取的是实例的定时时间,节点调度参数的替换值在实例生成时就已经替换,不会随着实例实际运行时间的改变而改变,所以您无需顾虑调度参数取值是否会变动。https://help.aliyun.com/document_detail/146667.html,此回答整理自钉群“DataWorks交流群(答疑@机器人)”
如果上游节点执行异常导致当前节点第二天0:00才调起,那么当前节点的参数取值应该是第二天0:00。这是因为参数取值是根据节点的调度时间来确定的,而不是根据节点的执行时间。即使节点的执行时间晚于调度时间,节点的参数取值仍然是根据调度时间来确定的。
因此,如果当前节点的调度时间为每天20:00,节点内参数取值为定时时间($cyctime或者$[yyyymmddhh24miss]),那么当前节点的参数取值应该是每天20:00。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。