《构建企业级好数据(Dataphin智能数据建设与治理白皮书)》——二、Dataphin 演进之路:产品大图及核心功能详解——(二)研发:集成、建模、发布、运维(4) https://developer.aliyun.com/article/1229661?groupCode=dataphin
4. 调度运维,为数据建设保驾护航
1) 业务痛点
“每个客户最近 30 天的平均消费金额指标需要基于汇总的门店订单表来分析,得
等订单表的数据更新了才能运行指标”
“老板 9 点就要看报表,这个任务可一定要尽早跑完,优先级要设置成最最最最最
高!”
“怎么又有任务报错了,我可不想一直盯着电脑屏幕呀”
......
以上是数据开发和运维人员日常工作中经常会遇到的问题,整个数据研发流程,任务和任务之间存在多种数据上的依赖关系,且不同的数据有各自的更新时效性要求;此外,任务执行需要对应的资源,我们希望给重要的任务优先分配调度资源和运行资源,保证其顺利运行。这些无疑都给开发运维人员增加了工作难度。
Dataphin 的统一调度和运维系统,为您的数据建设保驾护航。Dataphin 自研的调度系统支持灵活的调度周期、上游依赖、调度类型和参数配置,可适配多样性的数据研发场景。运维中心包括大盘概览、任务运维、实例运维和监控告警配置等功能,为您提供任务操作与运行查看、引擎&资源分析等多方位的运维能力。下面,我们就来具体看看都有哪些厉害的功能吧!
2) 功能介绍
运维中心是维护生产任务有序、正确运行,数据能正常产出的守卫者,是整个研发链路最重要的一道保障。
a) 如何保障数据有序、正确产出?
创建任务时,首先需要根据任务运行频率和数据产出时效性判断该任务的调度类型,并针对不同类型的任务进行调度规则的配置。其中,周期调度是最常用的调度方式。针对周期任务,我们需要配置如下关键信息:
• 优先级:支持最高、高、中等、低、最低 5 种优先级,影响调度资源的分配。对于需要重点保障的任务,可以通过设置高优先级配置保证资源优先分配。
• 调度类型:支持正常调度、空跑调度、暂停调度三种方式。空跑调度的任务生成的所有实例直接空跑成功,不会真正运行;暂停调度的任务生成的实例均为暂停运行状态,常用于经常需要暂停某些链路上的数据更新、又不希望频繁下线任务或修改依赖的场景。
• 调度周期:支持分钟、小时、日、周、月调度,不同调度周期对应不同的运行频率,并支持配置每个实例的定时调度时间。如抽数任务,需要每小时从业务库抽取上一小时新增的订单数据,再进行销售总额的合并计算,则需要配置调度周期为“小时”,开始运行时间为每个整点,以保证数据时效性。
• 上游依赖:提供自动依赖解析能力,可以基于 SQL 详情解析出存在数据依赖的上游任务并自动添加。对于不存在数据依赖关系但是有调度依赖的上游(如用于检查数据变化情况的 check 任务),可以手动搜索添加。
• 依赖上周期:支持配置依赖任务自身或其他任务的上一周期实例。有时为了防止多个实例同时运行造成的数据冲突或重复,需要保证每个任务同一时间只有一个任务在运行,此时可以配置“自依赖”,如“截止当日销售总额”任务,计算口径为“前一日销售总额+当日销售总额”。另外一些场景下,任务运行完成时间较晚,对于数据时效性要求不严格的下游,可以配置依赖该任务的上周期。
基于上述配置,您可以根据实际业务场景梳理上下游数据的影响,确保数据依赖关系正确;通过给对应的任务配置依赖条件,保证调度依赖关系正确;加之优先级等配置条件,可实现数据有序、正确地产出。
《构建企业级好数据(Dataphin智能数据建设与治理白皮书)》——二、Dataphin 演进之路:产品大图及核心功能详解——(二)研发:集成、建模、发布、运维(6) https://developer.aliyun.com/article/1229658?groupCode=dataphin