一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种支持流批一体的大数据引擎分布式任务调度方法与流程

2022-11-14 01:02:55 来源:中国专利 TAG:

1.本发明涉及计算机技术领域,更具体地说,本发明涉及一种支持流批一体的大数据引擎分布式任务调度方法(流批一体是指采用一套逻辑来描述实时与离线作业,同一个作业运行时在不同阶段呈现出流批两种特性)。


背景技术:

2.数据湖是企业利用大数据技术,对内外部海量数据统一进行采集、计算、存储,并使用统一的数据规范进行管理,数据规范包括数据口径、数据模型、元数据规范、参考数据标准、主数据标准、业务规则等。更进一步,广义的数据中台,还包括企业长期积累下来与业务有较强关联性的一些技术组件,如业务标签,算法模型,数据产品等。数据中台的主要作用在于将企业内部所有数据统一处理形成标准化数据,挖掘出对企业最有价值的数据,构建企业数据资产库,对内对外提供一致的、高可用大数据服务。
3.大数据引擎任务调度系统在数据平台中属于核心组件。在日常的数据处理中,定时运行一些作业是很常见的业务需求,如定时从数据库将新增数据导入至数据湖中,将数据湖仓处理后的数据导出到数据库或者是文件系统以供业务系统使用。
4.但是,现存中的etl流程都为通过人员编写对应语言的程序的方式(etl:是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中分散、零乱、标准不统一的数据整合到一起,为企业的决策及上层应用提供分析依据),然后在集群中执行该程序以实现对应的etl逻辑,产生大量不便:一、人员编写代码的方式无法高速迭代业务端的需求,在数据密集产生的大数据时代,业务需求过多,纯人力将无法满足总需求;二、当需求变化时,则需要更新代码,操作繁琐;三、代码的封闭性决定了etl信息流转过程将不直观,无法简易转换为人能快速理解的图形化关系。四:平台化程度较低,集群管理与业务管理分离,增加操作难度及错误率;五:对应不同任务模式的作业需要不同组件提供服务,平台作业集成度低;六:对不同数据源无法做到统一架构处理。


技术实现要素:

5.为了克服现有技术的上述缺陷,本发明的实施例提供一种支持流批一体的大数据引擎分布式任务调度方法,本发明所要解决的技术问题是:现存中的etl流程都为通过人员编写对应语言的程序的方式,然后在集群中执行该程序以实现对应的etl逻辑,产生大量不便。
6.为实现上述目的,本发明提供如下技术方案:一种支持流批一体的大数据引擎分布式任务调度方法,包括具体的调度步骤如下:
7.s1、多集群接入管理:
8.通过配置hdfs-site、yarn-site或flink-site的参数实现多集群的资源接入,作业调度时指定集群执行;
9.用户可根据自身情况将多个集群分为开发环境、测试环境、试运行环境、生产环
境,在部署程序时指定哪个环境运行;
10.当集群资源不足时,可在部署程序时指定其他资源较为充分的集群运行;
11.s2、构建工作流dag流程:通过工作流以可视化拖拽组件、连线的方式,对多个数据处理的作业/任务进行合并,实现工作流dag流程的构建;
12.s3、工作流实例回溯与控制:基于工作流实例对etl数据处理的dag流程实例永久留存,工作流实例产生自工作流的调度执行,记录某时某刻工作流运行的dag流程实例;
13.s3.1、工作流实例编辑:工作流实例编辑应用于dag流程执行失败、停止、暂停、结束时的优化与修正,编辑对象是已终止的工作流实例,保存时分为将修改的作业同步至原先的工作流中和不同步到原先的工作流两种情况;
14.s3.2、工作流实例重跑:工作流实例重跑应用于dag流程已终止的工作流实例,重跑对象是完整的dag流程作业节点,即使成功执行的作业节点也要重新执行,重跑时工作流实例不变但重新生成新的作业实例,正在运行的工作流实例不能执行重跑操作;
15.s3.3、工作流实例停止:工作流实例停止应用于dag流程正在运行的工作流实例,对正在运行的工作流实例执行停止操作;
16.s3.4、工作流实例暂停:工作流实例暂停应用于dag流程正在运行的工作流实例,对正在运行的工作流实例执行暂停操作;
17.s3.5、工作流实例恢复失败:工作流实例恢复失败应用于dag流程执行失败的工作流实例,是对执行失败的工作流实例进行优化、修正后的重新部署;
18.s3.6、工作流实例恢复停止:工作流实例恢复停止应用于dag流程停止的工作流实例,对停止的工作流实例进行重新部署;
19.s3.7、工作流实例恢复暂停:工作流实例恢复暂停应用于dag流程暂停的工作流实例,对暂停的工作流实例进行重新部署;
20.s4、作业实例数据处理反馈结果审计:作业实例由工作流中的作业调度执行产生,永久留存数据处理的实例,是大数据任务调度反馈结果的直观表现,数据开发者可通过该功能排查异常任务。
21.在一个优选地实施方式中,所述步骤s1中多集群接入管理的功能除了集群的分布式调度管理外,还可对接入平台的hdfs集群、yarn集群资源进行实时监控,包括namenode、datanode、resourcemanager和nodemanager的节点信息。
22.在一个优选地实施方式中,所述步骤s2中的作业(数据处理的任务)是以基于yarn集群资源计算的大数据任务为主,包括但不限于flink程序、spark程序、hive程序、hbase程序和kylin的主流大数据技术。
23.在一个优选地实施方式中,所述步骤s3.1中:
24.同步至原先的工作流:本次工作流dag流程实例与工作流dag流程保持一致,后续的工作流周期调度延用编辑后的dag流程;
25.不同步至原先的工作流:本次工作流dag流程实例与工作流dag流程不一致,后续的工作流周期调度延用编辑前的dag流程。
26.在一个优选地实施方式中,所述步骤s3.2中工作流实例重跑常用场景是首次dag流程处理全量数据,后续的dag流程处理增量数据。
27.在一个优选地实施方式中,所述步骤s3.3中执行停止逻辑是当前作业节点继续执
行,执行结束之后,后续作业节点取消执行;
28.工作流实例停止的应用场景是数据开发者发现程序存在异常时对其所在的dag流程及时阻断,避免耗费资源和时间,工作流实例停止之后,数据开发者可编辑优化与修正dag流程。
29.在一个优选地实施方式中,所述步骤s3.5中恢复逻辑是从失败的作业节点开始执行,恢复失败时工作流实例不变但重新生成新的作业实例;已成功的离线作业和正运行的实时作业不生成新的工作流实例;
30.工作流实例恢复失败的应用场景是dag流程程序异常导致工作流执行失败,数据开发者编辑优化与修正dag流程之后,对其重新部署。
31.在一个优选地实施方式中,所述s3.7中恢复逻辑是从暂停的作业节点开始执行,被取消的实时作业和未运行的作业重新生成新的作业实例;
32.工作流实例恢复暂停的应用场景与工作流实例恢复停止类似,是数据开发者发现程序存在异常时对其所在的dag流程及时阻断,数据开发者编辑优化与修正dag流程之后,对其重新部署。
33.本发明的技术效果和优点:
34.1、本发明通过多集群接入平台,实现任务在多个集群中的分布式调度执行,充分利用资源,以及生产、测试、开发环境的隔离;实现实时计算任务与批量计算任务在统一平台的执行;基于工作流实现支持flink、spark、hive、hbase、kylin等多种作业组件的任务合并及统一调度。
35.2、本发明基于工作流实例记录工作流执行的历史实例,实现工作流实例的回溯审计以及任务修改、修正、优化的能力,降低数据处理的操作错误率;基于作业实例记录工作流中多个作业执行的历史实例,实现作业实例的回溯审计以及任务的风险排查,降低数据处理的异常率。
具体实施方式
36.下面对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
37.本发明提供了一种支持流批一体的大数据引擎分布式任务调度方法,包括具体的调度步骤如下:
38.s1、多集群接入管理:
39.随着信息化的不断发展,众多企业对数据层面的关注不断加深,进一步缔造了大数据产业的蓬勃发展;在大多数企业中,使用主流的大数据技术是以hadoop为生态的技术,包括但不限于hdfs、yarn、hbase、kafka、flink、spark;
40.在信息化业务从需求到设计,从设计到研发,从研发到测试,从测试到试运行,从试运行到正式上线的过程中,在不同的阶段不可避免的存在开发环境、测试环境、试运行环境、生产环境;
41.同样的,数据开发的阶段模式也符合信息化业务的模式,那么不可避免的也会存
在开发环境、测试环境、试运行环境、生产环境;
42.再者,大数据是通过提高资源占有率和使用率实现最高效最大量的数据处理,通常情况下,在进行大数据处理时资源相对不充足的可能性比较大,在业务高峰且程序部分上线仓促的情况下为集群增加计算节点是不明智的,影响到其他数据业务的可能性极大;
43.本发明就以上问题设计了如下解决方案:
44.通过配置hdfs-site、yarn-site或flink-site等参数实现多集群的资源接入,作业(是指正在运行、准备运行、停止运行、暂停运行等状态的大数据处理任务)调度时指定集群执行;
45.用户可根据自身情况将多个集群分为开发环境、测试环境、试运行环境、生产环境,在部署程序时指定哪个环境运行;
46.其次,当集群资源不足时,可在部署程序时指定其他资源较为充分的集群运行;
47.功能除了集群的分布式调度管理外,还可对接入平台的hdfs集群、yarn集群资源进行实时监控,包括namenode、datanode、resourcemanager和nodemanager的节点信息;
48.s2、构建工作流dag流程(工作流:大数据作业构成的任务流,将复数的最小工作细粒度作业构建为符合业务需求的工作流,但不进行实际作业):
49.在etl数据处理dag流程定义过程中,从上游的数据处理到下游的数据处理通常存在数据依赖的问题,也就是说上游的数据处理必须成功执行,下游才能执行;比如,从数据采集层到ods层,从ods层到dwd层的数据处理存在数据依赖的问题,数据采集层到ods层的数据必须成功执行,ods层到dwd层的数据才能执行;因此,将数据处理任务合并是数据处理中的重中之重,通过可视化组件拖拽连线的方式,将多个任务合并,是本发明的核心;
50.通过工作流以可视化拖拽组件、连线的方式,对多个数据处理的作业/任务进行合并,实现工作流dag流程的构建;
51.作业(数据处理的任务)是以基于yarn集群资源计算的大数据任务为主,包括但不限于flink程序、spark程序、hive程序、hbase程序和kylin等主流大数据技术;
52.s3、工作流实例回溯与控制(工作流实例:当工作流确认后可,数据更新频率,重新部署工作流,生成相应的逻辑实例,进行实际业务的处理):
53.在etl数据处理任务运行过程中,在部署之初总会遇到各种各样的程序问题,比如jar包打包依赖冲突、代码逻辑存在异常等问题;虽然通过编辑工作流可以解决以上问题,但从操作逻辑上增加了难度与复杂度;因此,etl数据处理过程中对dag流程的优化与修正显得尤为重要;
54.基于工作流实例对etl数据处理的dag流程实例永久留存,工作流实例产生自工作流的调度执行,记录某时某刻工作流运行的dag流程实例;记录工作流dag流程的工作流实例为数据开发者提供了多种动态化控制手段,便于其对dag流程重新部署的敏捷式优化与修正,其中包括工作流实例编辑、重跑、暂停、停止、恢复失败、恢复暂停、恢复停止等动态化控制;通常情况下,工作流实例与工作流的dag流程高度统一,只有重新部署工作流实例,才会导致工作流实例与工作流的dag流程不一致,当然,这是对存在问题的工作流实例持续优化与修正的结果;
55.基于工作流实例记录工作流执行的历史实例,实现工作流实例的回溯审计以及任务修改、修正、优化的能力,降低数据处理的操作错误率;基于作业实例记录工作流中多个
作业执行的历史实例,实现作业实例的回溯审计以及任务的风险排查,降低数据处理的异常率;
56.工作流实例动态化控制:
57.s3.1、工作流实例编辑:工作流实例编辑应用于dag流程执行失败、停止、暂停、结束时的优化与修正,编辑对象是已终止的工作流实例,保存时分为将修改的作业同步至原先的工作流中和不同步到原先的工作流两种情况;
58.同步至原先的工作流:本次工作流dag流程实例与工作流dag流程保持一致,后续的工作流周期调度延用编辑后的dag流程;
59.不同步至原先的工作流:本次工作流dag流程与工作流dag流程不一致,后续的工作流周期调度延用编辑前的dag流程;
60.s3.2、工作流实例重跑:工作流实例重跑应用于dag流程已终止的工作流实例,重跑对象是完整的dag流程作业节点,即使成功执行的作业节点也要重新执行,重跑时工作流实例不变但重新生成新的作业实例(作业实例:由工作流中的作业节点运行产生,是是大数据任务调度反馈结果的直观表现),正在运行的工作流实例不能执行重跑操作;
61.工作流实例重跑常用场景是首次dag流程处理全量数据,后续的dag流程处理增量数据;
62.s3.3、工作流实例停止:工作流实例停止应用于dag流程正在运行的工作流实例,对正在运行的工作流实例执行停止操作;
63.执行停止逻辑是当前作业节点继续执行,执行结束之后,后续作业节点取消执行;
64.工作流实例停止的应用场景是数据开发者发现程序存在异常时对其所在的dag流程及时阻断,避免耗费资源和时间,工作流实例停止之后,数据开发者可编辑优化与修正dag流程;
65.s3.4、工作流实例暂停:
66.工作流实例暂停应用于dag流程正在运行的工作流实例,对正在运行的工作流执行暂停操作;
67.执行逻辑是当前作业节点及后续作业节点取消执行;
68.工作流实例暂停的应用场景与工作流实例停止类似,通常是数据开发者发现程序存在异常时对其所在的dag流程及时阻断,避免耗费资源和时间,工作流实例停止之后,数据开发者可编辑优化与修正dag流程;
69.s3.5、工作流实例恢复失败:工作流实例恢复失败应用于dag流程执行失败的工作流实例,是对执行失败的工作流实例进行优化、修正后的重新部署;
70.恢复逻辑是从失败的作业节点开始执行,恢复失败时工作流实例不变但重新生成新的作业实例;已成功的离线作业和正运行的实时作业不生成新的工作流实例;
71.工作流实例恢复失败的应用场景是dag流程程序异常导致工作流执行失败,数据开发者编辑优化与修正dag流程之后,对其重新部署;
72.s3.6、工作流实例恢复停止:
73.工作流实例恢复停止应用于dag流程停止的工作流实例,对停止的工作流实例进行重新部署;
74.恢复逻辑是从停止作业节点的下一个节点开始执行,被取消的实时作业和未运行
的作业重新生成新的作业实例;
75.工作流实例恢复停止的应用场景通常是数据开发者发现程序存在异常时对其所在的dag流程及时阻断,数据开发者编辑优化与修正dag流程之后,对其重新部署;
76.s3.7、工作流实例恢复暂停:工作流实例恢复暂停应用于dag流程暂停的工作流实例,对暂停的工作流实例进行重新部署;
77.恢复逻辑是从暂停的作业节点开始执行,被取消的实时作业和未运行的作业重新生成新的作业实例;
78.工作流实例恢复暂停的应用场景与工作流实例恢复停止类似,是数据开发者发现程序存在异常时对其所在的dag流程及时阻断,数据开发者编辑优化与修正dag流程之后,对其重新部署;
79.s4、作业实例数据处理反馈结果审计:作业实例由工作流中的作业调度执行产生,永久留存数据处理的实例,是大数据任务调度反馈结果的直观表现,数据开发者可通过该功能排查异常任务。
80.最后:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献