一、场景
小明负责产出老板每天需要看的销售看板,具体的任务dag图如上,原来的BI看板的上游任务都是天调度,且都是0点运行的任务,现在老板要求该BI看板上的数据每半天更新一次,由于F任务依赖于C任务,并要求C任务必须是天调度,但是又需要完成老板的要求,此时该怎么做呢?
二、解决方案及功能
可以采用补数据任务的方式,配置补数据任务,每天中午定时进行补数据,并且只补A->B->C这条链路的数据,此时又能够使BI看板每半天更新一次,又能够不影响其他任务的调度执行
具体操作如下:
①在生产环境的【运维-任务运维-补数据任务】页面中,可以新建一个补数据任务
②选择A任务作为起始节点,下游任务选择【海量模式】,覆盖范围【指定终点】,将终点指定为【C】,这样就可以指定起点到终点的方式,选择一整个链路中的所有节点,在已选节点列表中可以看到,当次补数据任务中会补A、B、C节点的数据
③调度类型选择【定时调度】,定时运行时间选择【日;12:00】,补数据业务日期选择【自定义】定时运行时间前【1】~前【0】天,这样就会重新补上一个业务日期的数据
④根据需要配置并发运行组数、补数据顺序等信息
⑤【补数据实例】页面可以看到这几个实例的补数据状态、开始运行时间、结束运行时间等
通过上述方式,【A->B->C->BI看板】会每半天补一次数据,但不影响到其他的任务的调度执行