一种支持多任务重跑的调度方法与流程

文档序号:20009180发布日期:2020-02-22 03:54阅读:来源:国知局

技术特征:

1.一种支持多任务重跑的调度方法,其特征是,具体包括如下步骤:

(1)在azkaban框架下按照project、flow、job依次来管理的,即一个project中包含多个调度流程flow,每个调度流程flow中有多个job;

(2)解析每个job中的sql,得到读取的表列表、写入的表列表;

(3)每个job包装一个前置任务,前置任务检查读取的表列表是否准备就绪,如果就绪继续执行当前job,如果还没有准备就绪,该前置任务一直轮询直到所有表准备就绪;

(4)与此同时,每个job包装一个后置任务,后置任务用来标记所有写入的表列表的状态为就绪状态,以便后续依赖这些表的任务执行;

(5)在后台展示所有job的依赖关系图,用一种颜色表示执行失败,当遇到执行失败时,只要修复好当前节点涉及的表,其他任务就能自动往下执行。

2.根据权利要求1所述的一种支持多任务重跑的调度方法,其特征是,在步骤(2)中,通过以下两个阶段来得到读取的表列表、写入的表列表:第一阶段是人工整理并录入数据库,第二阶段是通过封装apachehive这个开源项目里面的sql解析模块来实现。

3.根据权利要求1所述的一种支持多任务重跑的调度方法,其特征是,在步骤(3)和步骤(4)中,前置任务会一直轮询依赖资源的状态,当依赖的资源已准备就绪,才启动job执行,保证job在执行的时候所有资源都准备就绪了;后置任务主要是将自己完成修改的资源状态修改为就绪,方便其他下游任务及时检测到,并启动job;通过将状态记录到数据库,方便写入和读取;前置任务、job、后置任务是对一个job的封装,是串行结构。

4.根据权利要求1所述的一种支持多任务重跑的调度方法,其特征是,在步骤(5)中,在后台展示所有job的依赖关系图,用一种颜色表示执行成功,另一种颜色表示执行失败,从而根据表的依赖关系得到数据血缘关系图,根据数据血缘关系图,当遇到执行失败时,只要修复好当前节点涉及的表,其他任务就能自动往下执行。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1