一种ETL执行模板的生成方法与流程

文档序号:36369075发布日期:2023-12-14 08:06阅读:21来源:国知局
一种的制作方法

本公开涉及etl任务执行,尤其涉及一种etl执行模板的生成方法、系统和电子设备。


背景技术:

1、如附图1所示的etl任务执行示意图,主要是指在etl模块的jobengine任务工厂中进行任务执行,etl任务执行,主要是对用户输入的算子图进行解析操作,生成对应的任务引擎通用脚本,以便在任务引擎中执行。etl执行上下文工厂产生etl执行上下文,基于baseetlcontext提供一些基础性的上下文的算子操作方法。

2、etl执行上下文兼具两个功能:

3、一个是将参数转换为dataflow和basecommand拓扑排序;

4、另一个是隔离其他域。使etl不与其他域直接接触,防止两者直接耦合。

5、因此etl执行上下文相当于一个外观模式,目的是隐藏外部调用的复杂性,提供了etl域与其他域交互的委托调用。

6、而etl任务,主要包含etl任务执行流程以及对应的etl任务预览。etl任务执行流程指的是按照预设的执行逻辑执行所构建的etl任务,按照业务逻辑对etl任务中的算子图进行解析和执行;以及etl任务预览,按照一定的业务逻辑将etl任务的执行结果展示给用户。

7、从上来看,执行过程和预览过程,在逻辑上来看,etl的执行和预览在执行流程上相似性很大。

8、因此,为了遵循dry原则,用户等不期望重复地实现相同的业务逻辑,也就是说希望按照一个统一的业务逻辑模式,能够重复调用并实现etl的执行和预览,期望对etl的执行和预览实现统一的处理流畅。

9、因此,本技术欲在预览和执行之间抽取出一个统一的etl执行模板,由模板工厂产生一个规范的执行模板,兜底一些统一的异常处理流程。


技术实现思路

1、为了解决上述问题,本技术提出一种etl执行模板的生成方法、系统和电子设备。

2、本技术一方面,提出一种etl执行模板的生成方法,包括如下步骤:

3、通过etl执行上下文工厂-etl execution context factory生成etl执行上下文-etl execution contextx;

4、解析所述etl执行上下文-etl execution contextx,得到所述etl执行上下文中的执行逻辑:算子依赖、生命周期和基本属性;

5、将所述执行逻辑发送至预览工厂-et lpreview factory;

6、由所述预览工厂-et lpreview factory根据所述执行逻辑,生成业务逻辑与所述etl执行上下文所对应的etl业务执行模板-abstract etl business template。

7、作为本技术的一可选实施方案,可选地,所述算子依赖,包括:

8、支撑算子解析的相关封装逻辑;

9、算子解析中需要使用到外部的表达式构建;

10、算子依赖中会对算子解析需要使用的复杂函数进行封装,以便算子解析使用。

11、作为本技术的一可选实施方案,可选地,所述生命周期,包括:

12、etl执行过程中需要创建/更新数据集;

13、获取输入/输出数据集;

14、检查输出数据集;

15、继承数据集;

16、运行完成通知;

17、检查输入数据集是否可用。

18、作为本技术的一可选实施方案,可选地,所述基本属性,包括:

19、提供本次etl运行时需要的基本属性,包括算子网、版本、拆分节点信息、域、所有者、优先级设置、附加任务参数和触发路径。

20、作为本技术的一可选实施方案,可选地,由所述预览工厂-et lpreview factory根据所述执行逻辑,生成业务逻辑与所述etl执行上下文所对应的etl业务执行模板-abstract etl business template,包括:

21、所述预览工厂-et lpreview factory根据所述etl执行上下文中的执行逻辑:算子依赖、生命周期和基本属性,构建如下模板内容:

22、(1)、产生执行任务模块-spawn,用于:

23、产生一个etl执行任务并提交任务管理执行;

24、(2)、构建返回信息模块-build response,用于:

25、构建返回信息,包含任务id、报错信息,以及前端进行展示;

26、(3)、任务执行前置检查模块-before execute task,用于

27、(3.1)、任务执行时的前置逻辑检查:

28、根据参数判断,执行是否已经熔断;

29、判断是否设置了超时标识,具有超时标识则表示该etl存在严重性能问题,不应允许执行;

30、判断是否已经处于运行中,防止重复运行;

31、判断是否已经被工作流调度,若有说明bi已经失去该etl的调度权限;

32、判断是否已经被工作流调度,若有说明bi已经失去该etl的调度权限;

33、检查输出数据集的生成目录是否可用/有效;

34、判断etl是否正在被修改,是则表明结构正在被修改时禁止执行;

35、(3.2)、预览时的前置逻辑检查:

36、join后的行数是否超出设定的限制;

37、(4)、任务执行后处理模块-after execute task,用于:

38、任务执行后进行一些后续处理;

39、(5)、执行任务模块-execute,用于:

40、定义任务实际的执行体,包括如下逻辑:子任务生成和算子解析;

41、构建完毕,生成所述etl业务执行模板-abstract etl business template;

42、将所述etl业务执行模板-abstract etl business template配置并运行。

43、本技术另一方面,提出一种实现所述etl执行模板的生成方法的系统,包括:

44、etl执行上下文生成模块,用于通过etl执行上下文工厂-etl execution contextfactory,用于生成etl执行上下文-etl execution contextx;

45、解析模块,用于解析所述etl执行上下文-etl execution contextx,得到所述etl执行上下文中的执行逻辑:算子依赖、生命周期和基本属性;

46、发送模块,用于将所述执行逻辑发送至预览工厂-et lpreview factory;

47、模板生成模块,用于由所述预览工厂-et lpreview factory根据所述执行逻辑,生成业务逻辑与所述etl执行上下文所对应的etl业务执行模板-abstract etl businesstemplate。

48、本技术另一方面,还提出一种采用所述etl执行模板的生成方法所生成的etl执行模板。

49、本技术另一方面,还提出一种所述etl执行模板的应用方法,包括如下步骤:

50、获取用户输入的算子图;

51、从后台调用一个所述etl执行模板;

52、将所述算子图输入所述etl执行模板,并按照所述模板内容,执行所述算子图的解析任务并预览输出解析结果。

53、本技术另一方面,还提出一种电子设备,包括:

54、处理器;

55、用于存储处理器可执行指令的存储器;

56、其中,所述处理器被配置为执行所述可执行指令时实现所述etl执行模板的应用方法。

57、本发明的技术效果:

58、本技术通过etl执行上下文工厂生成etl执行上下文;解析所述etl执行上下文-etl execution contextx,得到所述etl执行上下文中的执行逻辑:算子依赖、生命周期和基本属性;将所述执行逻辑发送至预览工厂;由所述预览工厂根据所述执行逻辑,生成业务逻辑与所述etl执行上下文所对应的etl业务执行模板。能够遵循dry原则,构建一个算子图的执行逻辑模板,利用该模板可以对输入的算子图进行算子解析和执行、预览,利用该etl执行模板,能够对海量输入的算子图进行按照统一的业务逻辑模式,重复调用该etl执行模板并实现etl的执行和预览,期望对etl的执行和预览实现统一的处理流畅。在预览和执行之间,统一利用该etl执行模板,对海量算子图进行兜底处理统一的异常处理流程,统一etl任务执行和预览逻辑,提高etl任务执行效率。

59、根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1