【大数据开发套件调度配置实践】——不同周期任务依赖配置

阅读全文 http://click.aliyun.com/m/23308/

大数据开发过程中常遇到不同运行周期的任务进行依赖,常见 天任务依赖小时任务、 小时任务依赖分钟任务 。那么如何通过大数据开发套件开发这两种场景呢?

本文将从这两个场景出发,结合调度依赖/参数/调度执行等,介绍不同周期调度依赖的最佳操作实践。

再此之前,我们先明确几个概念:

业务日期:业务数据产生的日期,这里指完整一天的业务数据。在大数据开发套件里任务每天能处理的最近的完整一天业务数据是昨天的数据,所以业务日期=日常调度日期-1天。
依赖关系:依赖关系是描述两个或多个节点/工作流之间的语义连接关系,其中上游节点/工作流的运行状态可以影响下游节点/工作流的运行状态,反之则不成立。
调度实例:大数据开发套件的调度系统对周期任务进行调度执行时,会先根据任务的配置进行实例化,每个实例带上具体的定时时间、状态、上下游依赖等属性。

注意:目前数加大数据开发套件每天自动调度的实例都是在昨天晚上23:30生成。

调度规则:调度任务是否能运行起来要满足的条件:

上游任务实例是否都运行成功。若所有上游任务实例都运行成功则触发任务进入等待时间状态。
任务实例定时时间是否已经到。任务实例进入等待时间状态后会check本身定时时间是否到,如果时间到了则进入等待资源状态;
当前调度资源是否充足。任务实例进入等待资源状态后,check当前本项目调度资源是否充足,若充足则可以运行起来。
天任务依赖小时任务
业务场景
系统需求统计截止到每小时的业务数据增量,然后在最后一个小时的数据汇总完成后需要一个任务进行一整天的汇总 。

需求分析
1)每个小时的增量,即每整点起任务统计上个小时时间段的数据量 。需要配置一个每天每整点调度一次的任务,每天最后一个小时的数据是在第二天第一个实例进行统计 。

2)最后的汇总任务为每天执行一次,且必须是在每天最后一个小时的数据统计完成之后才能执行,那么需要配置一个天任务,依赖小时任务的第一个实例 。

分析得出的调度形态如下图:
全文连接 http://click.aliyun.com/m/23308/

猜你喜欢

转载自liangyan9966.iteye.com/blog/2379644