DS调度流程改进设计

1.ods层改进

为了ods层更好的最大利用并行度,我将左图改成了右图方式

1.假设并行度都是3,左在执行完一层后需要等待本层最久的任务执行完毕才可以进入下层,而在等待的过程中,其实就不在是并行度3而变成了1,白白浪费了两个并行度,而且还需要控制好单层的时间,将执行时间相近的任务放在一行,避免等待过久

2.但要知道在实际中,每个任务都有可能突发情况,今天时间长明天时间短,所以这很难控制,而就算控制再好也会浪费一定时间等待,现oozie采用的就是这种方式

故改成右图不等待方式,这样可以在并行度为3且相同时间内节省出时间碎片用来跑更多的任务

而且还可以随便调整任务位置,这样我们就可以将同一个avatar的放在一起,容易维护

2.dwd层改进:

关于dwd层工作流是按avatar分开合适还是放在一个工作流里合适这个问题:

这是原本的规划,每个库分工作流的目的是为了容易管理辨别

经过分析不分avatar而在一个工作流里加上每个avatar开始的标志比较合适

原因有3:

1.也满足了每个库一个工作流的清晰度划分,且看起来更加舒适,可以不用打开工作流就清楚的知道其中包含几个任务

2.每次修改内存核数等,都需要1下线、2修改、3上线、4上线定时等各种操作,N个工作流,就需要重复N次134操作,容易出错,而一个工作流只需1次操作即可

3.由于ds不支持跨工作流的节点复制,每次创建新工作流都需要重新填写很多的配置信息,而放在同一个工作流复制任务方便

问题:

但是这样依赖满足后开始执行dwd任务,在结合改造的ods层规划,可能会导致一个新问题,那就是ods假设并行了10个任务,那么他们结束后立马开始dwd层,可能会导致任务并行度超过内存上限,因此我们还需要给dwd层任务定时,要与ods开始时间尽量稍微错开一点,后面各层也还是如此,保证任务不要全挤在一个时间点,真挤在一起少部分是可以接受的,因为首先其他各层任务少,执行快有些占用内存也少,可以快速释放出占用内存给其他任务,另外任务也还都是有自己的等待时长的,并不是还没等一会呢就挂掉了

Apache DolphinScheduler是一个新一代分布式大数据工作流任务调度系统,致力于“解决大数据任务之间错综复杂的依赖关系,整个数据处理开箱即用”。它以 DAG(有向无环图) 的方式将任务连接起来,可实时监控任务的运行状态,同时支持重试、从指定节点恢复失败、暂停及 Kill任务等操作。目前已经有像IBM、腾讯、美团、360等400多家公司生产上使用。 调度系统现在市面上的调度系统那么多,比如老牌的Airflow, Oozie,Kettle,xxl-job ,Spring Batch等等, 为什么要选DolphinScheduler ? DolphinScheduler 的定位是大数据工作流调度。通过把大数据和工作流做了重点标注. 从而可以知道DolphinScheduler的定位是针对于大数据体系。DolphinScheduler 发展很快 很多公司调度都切换到了DolphinScheduler,掌握DolphinScheduler调度使用势在必行,抓住新技术机遇,为跳巢涨薪做好准备。 优秀的框架都是有大师级别的人写出来的,包含了很多设计思想和技术。DolphinScheduler也不例外,它是一个非常优秀的框架,用到很多技术和设计思想,本课程会带大家深入DolphinScheduler框架源码,包括设计的思想和技术都会讲解,DolphinScheduler源码很多,会按照模块进行讲解,学习完课程后,不仅可以熟悉DolphinScheduler使用,而且可以掌握很多优秀的设计思想和技术,给自己的技术带来很大提升,为跳巢涨薪做好准备。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值