调度系统的几个核心功能

您所在的位置:网站首页 ai软件的核心功能有哪些 调度系统的几个核心功能

调度系统的几个核心功能

2023-08-12 03:58| 来源: 网络整理| 查看: 265

调度系统是什么

先从调度说起,调度就是为每件事情,合理的安排时间。具体得说就是在合理的时间开始,耗费合理的时间完成。举个例子:

11:00~12:00 在这期间把销售数据跑出来。 13:00~14:00 在这期间把拉新的数据跑出来。

等等吧。

那还有问题,如果销售数据在跑的时候,出现了问题,导致数据在12:00之前没有跑出来,调度系统应该如何出来?

再有如果拉新数据依赖于销售数据,也就是说销售数据跑出来,拉新数据才能开始跑出来,调度系统应该如何处理这种一来关系呢?

另外我们现在只举出了两个例子,在真实的工作中,一般会有几十个,甚至几百个任务一起被调度。我们如何才能快速的查找出来呢?

回答了上面的几个问题,我们就能总结出调度系统的几个核心功能了。

下面来说一下。

核心功能 定点动作

一个调度系统最基本的功能就是在定点动作。定点动作就是某个时间点做相应的动作。好比闹钟的功能,闹钟到点后会发出声音,发出声音就是他的动作。到了调度系统,到了时间很可能是执行一段脚本。至于脚本里面发生什么,这是由写脚本的我们来决定的。

调度依赖

比如,我们有两个调度任务 A 和 B,B的数据源来自 A 任务调结果。在这种情况下,再跑 B 任务之前,必须保证 A 任务调的数据是好的。所以一个调度系统需要规定一种协议,在这个协议下,A 里面可以定义任务失败、成功、未跑完这种状态。然后,B 任务可以查询 A 任务的状态,然后再根据 A 的状态来决定 B 是开始跑任务,还是等待 A 任务。

异常捕捉

一个好多的调度系统,是可以处理异常情况的。常见的异常情况有,

任务失败任务超时

任务失败包括计算平台的异常,例如,常见的 OOM 错误、Map或者Reduce 内错不足的错误、系统的BUG等等。还有就是数据本身的错误,比如说,一个指标值在前三十天的平均值总是在 20 左右,突然有一天的值为 200 ,那不用说,这一天的值大概率是有问题的。在出现了这种情况后,调度系统都需要提供给我们不同的处理策略。例如,对于系统异常的问题,可以提供给一个重跑的功能,可能计算平台的计算资源不足了,等过一会就充足了。对于那些数据本身的问题,可以提供给我们一个通知的接口,可以是以短信的方式,或者邮件的方式。只要能及时通知到处理问题的人员即可。

任务超时的情况是这样,A 任务 12:00 跑完,但是在 12 点没有跑完, 这就就是超时的范畴。在很多的时候,任务超时比任务失败更加可怕,因为我们不知道为什么超时。任务失败了我们还能根据发过来的短信或者邮件初步的分析定位问题的原因。遇到任务超时的情况,我们还需要现场定位问题原因,是比较不好处理的。而且在任务完成得时间点都业务人员看数据得时间点,大家想想看,一个管理仓库的人员,如果这一天没有库存数据,那他是不是今天就不需要工作了,因为他不了解昨天的库存的情况,也不知道库存的情况。这种数据的缺失往往会导致公司管理盲人摸象。

任务管理

当我们有成十上百个任务的时候,快速的找到某个我们想要的任务就成为了一个迫切的需求。这个功能看起来不起眼,但是是非常贴心的。实现这个功能的前提是在一个数据团队里面,要有一个良好的分层、分主题域、命名的规则以及贯彻落实规则的措施。我们将所有的数据分成几个主题域,主题域就是一级的搜索项目,然后在主题域下面还会分不同的业务类型,例如,在交易主题域下面我们还会分出不同的渠道。其中,渠道还可以做为我们第二级的主题域。我们还可以将分层作为搜索的项目,例如 ods 层、DWD、DWS、DWB、ADS 这种。

重跑历史数据

刷新历史数据是经常遇到的情况。比如一种商品的分类发生了变化,我们也需要将去年的数据重新跑出来,然后才能和今年的数据对对比。这时候,我们就需要一个方便刷新历史数据的功能。大家可能看出来了,时间是一个非常重要的参数,最好是选择一个开始时间 和结束时间,选择好刷新历史数据的时间区间后,就可以跑数据了,所有在我们设计每个任务的跑批参数的时候,最好是有一个开始时间和结束时间,这样刷新历史数据的时候就方便很多了。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3