加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 云计算 > 正文

大数据应用篇之调度系统

发布时间:2022-10-13 00:01:45 所属栏目:云计算 来源:互联网
导读:
有了数据平台,有了数据仓库,那就需要一个系统来调度和管理数仓的任务,因此调度系统的地位可见之重要。往往数据仓库的的任务都是有依赖,从严格意义来讲就是一个无环的大蜘蛛网(有向无

云计算资源的实时调度_利用服务计算知识,分析\"腾讯云平台\"系统的特点_云计算调度系统

有了数据平台,有了数据仓库,那就需要一个系统来调度和管理数仓的任务,因此调度系统的地位可见之重要。往往数据仓库的的任务都是有依赖,从严格意义来讲就是一个无环的大蜘蛛网(有向无环图简称 DAG),所以要管理这么庞大的任务正常运行,就需要一个好的调度系统。目前开源的调度系统有如下几个,如图。

云计算资源的实时调度_云计算调度系统_利用服务计算知识,分析\"腾讯云平台\"系统的特点

上图中几个调度系统各有优点,笔者都基本上调研过,大多数刚创业公司用的比较多的还是 Azkaban 和 Dolphinscheduler,Azkaban 调度有很多痛点,由于基于 flow的,不够灵活的支持分布式任务而且完全通过压缩文件来管理任务;Dolphinscheduler 目前功能还可以,但是依赖图都是通过前端页面构建出来,但是对于上万个任务的管理不够灵活,比如应该提供一个手动的添加的任务的页面,而且每个 dag 的所有任务都是保存到数据库的一个字段中,所以想在后端服务构建这种依赖图比较麻烦。当然这两个任务都不能支持重跑历史任务并且也不支持传参当时的调度时间,这两个功能对于数仓跑任务经常用到,不过笔者前不久给 Apache Dolphinscheduler提供了 PR 并已经合并到 dev 分支上,就可以支持历史重跑和批量重跑传递日期时间参数。其实开源的调度系统都没有曾经用过的自研调度系统好用,完全为数仓任务而研发的,比如蘑菇街的 Jarvis 调度系统,没有flow 的概念,很多功能都支持,比如下面其中展示的 DAG 关系图。

云计算调度系统_利用服务计算知识,分析\"腾讯云平台\"系统的特点_云计算资源的实时调度

当然也可以在列表中查看依赖关系,这个是重点功能,上面提到的两个系统都没有该功能,因为管理上万个任务云计算调度系统,靠图形管理,肉眼受不了。综合起来还是自研的灵活好用。下面是我构建的满足数仓主要功能的调度系统架构图。

1. 调度系统功能图

云计算调度系统_利用服务计算知识,分析\"腾讯云平台\"系统的特点_云计算资源的实时调度

调度系统负责抽取数据到数据仓库,日志就是我们可能要抽取埋点日志等,然后通过 SQL 处理结果,把数据导入到报表供老板看,当然处理过的数据包括模型也可以导出到主站供用户使用。

2. 调度系统架构图

云计算资源的实时调度_利用服务计算知识,分析\"腾讯云平台\"系统的特点_云计算调度系统

上面讨论的是调度系统的主要功能,但是为了更灵活的时候调度系统,还需要一些其他功能。

利用服务计算知识,分析\"腾讯云平台\"系统的特点_云计算调度系统_云计算资源的实时调度

当我们重跑历史任务的时候,重点需要就是日期传参,比如 datax 任务中的抽取日期是 10 月 1 号,然而10 月 8 号上班回来发现 1 号那天任务失败,那于是要重跑,传参的日期应该是调度日期(10 月 1 号)而不应该是当前日期,大多数调度系统不支持该功能或者支持的不太友好。

也类似历史重跑这个功能,比如第一次任务上线要重跑历史一个月的数据,那么就要批量并行跑 30 个日调度任务。

比如当运行任务时候可以替换所有脚本中的 ${dt - 1},当重跑2019年10 月 10号的数据,${dt - 1} 被替换为 2019-10-09

不仅要有 dag 图 更重要的还要运行手动添加任务,当我们手动添加任务时候可以很快匹配该任务所依赖的任务,通过后端解析 sql 来构建这种依赖关系。

总之,以上讨论的几个功能都是基于数仓的调度系统来展开的,最常见的就是批量,历史重跑,日期传参等常见功能,其它的核心功能基本上每个调度系统都具备,只有这些功能满足了,就能够管理数仓庞大的任务系统,后面也就可以对整个系统做些其他工具来辅助调度系统,比如质量系统、监控系统、权限系统、优化系统等。

原文链接知识星球:

云计算资源的实时调度_利用服务计算知识,分析\"腾讯云平台\"系统的特点_云计算调度系统

大数据知识星球

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!