System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及数据集处理,尤其涉及一种基于bi平台的数据流编排方法、系统和电子设备。
技术介绍
1、etl,主要指的是数据转换,通过执行etl任务,将源数据集转换为目标数据集。
2、在etl任务执行过程中,etl运行的前提是,etl(待处理的数据集,也就是所构建并输入的算子)已经由用户通过bi平台保存,在后续开发相应的数据集之时,导入etl数据,用于生成对应的数据流。
3、如附图1所示的申请人研发的universe(platform)数据开发平台,用户可以进行相应的业务数据流(比如财务对接、会计计算、业务管理),开发完毕再交付前端用户进行使用。
4、而在开发平台处理前端用户提供的etl(用户提供的待处理的数据集,简称“用户算子”)之时,需要开发人员花费时间研究用户算子的数据结构、用户所需的数据流执行逻辑等等,根据研究用户算子而获得的信息,进行相应数据流的编排、构建,为前端用户提供合理且满足功能要求的数据流开发文件。
5、但是开发人员研究用户算子的过程,基本采用传统的人工分析,浏览并计算用户算子。因此,在编排数据流的前期,会花费大量时间,导致数据流的交付时间延长。
技术实现思路
1、为了解决上述问题,本申请提出一种基于bi平台的数据流编排方法、系统和电子设备。
2、本申请一方面,提出一种基于bi平台的数据流编排方法,包括如下步骤:
3、通过bi平台,接入前端用户提供的用户算子,并转发至智能算子处理模块---smart
4、所述smartetl按照预设的etl执行模板,对所述用户算子进行解析,获得包含各个etl算子之间的上下文执行逻辑的算子图,并将所述算子图由所述bi平台发送至universe数据开发平台;
5、所述universe数据开发平台上的任务调度引擎,根据所述算子图构建对应的数据流编排调度任务,连同所述算子图和所述数据流编排调度任务发送至开发人员;
6、开发人员执行所述数据流编排调度任务,并根据所述算子图中各个etl算子之间的上下文执行逻辑,编排并生成相应的数据流。
7、作为本申请的一可选实施方案,可选地,所述etl执行模板的生成方法,包括如下步骤:
8、通过etl执行上下文工厂-etl execution context factory生成etl执行上下文-etl execution context;
9、解析所述etl执行上下文-etl execution context,得到所述etl执行上下文中的执行逻辑:算子依赖、生命周期和基本属性;
10、将所述执行逻辑发送至预览工厂-etl preview factory;
11、由所述预览工厂-etl preview factory根据所述执行逻辑,生成业务逻辑与所述etl执行上下文所对应的etl业务执行模板-abstract etl business template;
12、所述算子依赖,包括:支撑算子解析的相关封装逻辑;算子解析中需要使用到外部的表达式构建;算子依赖中会对算子解析需要使用的复杂函数进行封装,以便算子解析使用;
13、所述生命周期,包括:etl执行过程中需要创建/更新数据集;获取输入/输出数据集;检查输出数据集;继承数据集;运行完成通知;检查输入数据集是否可用;
14、所述基本属性,包括:提供本次etl运行时需要的基本属性,包括算子网、版本、拆分节点信息、域、所有者、优先级设置、附加任务参数和触发路径。
15、作为本申请的一可选实施方案,可选地,所述etl执行模板,包括如下模板内容:
16、(1)、产生执行任务模块-spawn,用于:
17、产生一个etl执行任务并提交任务管理执行;
18、(2)、构建返回信息模块-build response,用于:
19、构建返回信息,包含任务id、报错信息,以及前端进行展示;
20、(3)、任务执行前置检查模块-before execute task,用于:
21、(3.1)、任务执行时的前置逻辑检查:
22、根据参数判断,执行是否已经熔断;
23、判断是否设置了超时标识,具有超时标识则表示该etl存在严重性能问题,不应允许执行;
24、判断是否已经处于运行中,防止重复运行;
25、判断是否已经被工作流调度,若有说明bi已经失去该etl的调度权限;
26、判断是否已经被工作流调度,若有说明bi已经失去该etl的调度权限;
27、检查输出数据集的生成目录是否可用/有效;
28、判断etl是否正在被修改,是则表明结构正在被修改时禁止执行;
29、(3.2)、预览时的前置逻辑检查:
30、join后的行数是否超出设定的限制;
31、(4)、任务执行后处理模块-after execute task,用于:
32、任务执行后进行一些后续处理;
33、(5)、执行任务模块-execute,用于:
34、定义任务实际的执行体,包括如下逻辑:子任务生成和算子解析;
35、构建完毕,生成所述etl业务执行模板-abstract etl business template;
36、将所述etl业务执行模板-abstract etl business template配置并运行。
37、作为本申请的一可选实施方案,可选地,所述smartetl按照预设的etl执行模板,对所述用户算子进行解析,获得包含各个etl算子之间的上下文执行逻辑的算子图,包括:
38、所述smartetl从数据库中调用一个预设的etl执行模板;
39、将所述用户算子导入所述etl执行模板,所述etl执行模板根据所述用户算子生成所需要的翻译参数,并输入至etl上下文工厂;
40、所述etl上下文工厂根据所述用户算子生成对应的etl上下文,并对所述etl上下文进行拓扑排序后,连同所述翻译参数输入至翻译器;
41、翻译器利用所述翻译器参数,对所述用户算子进行翻译,生成对应的算子中间表示;
42、将所述算子中间表示转换为任务引擎通用脚本,并输入至任务引擎工厂,进行任务执行,生成所述用户算子的算子图;
43、其中,所述算子图中包含各个etl算子之间的上下文执行逻辑,用于为数据流开发提供相应的数据流开发逻辑。
44、作为本申请的一可选实施方案,可选地,开发人员执行所述数据流编排调度任务,并根据所述算子图中各个etl算子之间的上下文执行逻辑,编排并生成相应的数据流,包括:
45、进入所述universe数据开发平台的开发页面;
46、根据所述算子图中各个etl算子之间的上下文执行本文档来自技高网...
【技术保护点】
1.一种基于BI平台的数据流编排方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的一种基于BI平台的数据流编排方法,其特征在于,所述ETL执行模板的生成方法,包括如下步骤:
3.根据权利要求2所述的一种基于BI平台的数据流编排方法,其特征在于,所述ETL执行模板,包括如下模板内容:
4.根据权利要求1所述的一种基于BI平台的数据流编排方法,其特征在于,所述SmartETL按照预设的ETL执行模板,对所述用户算子进行解析,获得包含各个ETL算子之间的上下文执行逻辑的算子图,包括:
5.根据权利要求1所述的一种基于BI平台的数据流编排方法,其特征在于,开发人员执行所述数据流编排调度任务,并根据所述算子图中各个ETL算子之间的上下文执行逻辑,编排并生成相应的数据流,包括:
6.根据权利要求1所述的一种基于BI平台的数据流编排方法,其特征在于,还包括:
7.实现权利要求1-6中任一项所述一种基于BI平台的数据流编排方法的系统,其特征在于,包括:
8.电子设备,其特征在于,包括:
【技术特征摘要】
1.一种基于bi平台的数据流编排方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的一种基于bi平台的数据流编排方法,其特征在于,所述etl执行模板的生成方法,包括如下步骤:
3.根据权利要求2所述的一种基于bi平台的数据流编排方法,其特征在于,所述etl执行模板,包括如下模板内容:
4.根据权利要求1所述的一种基于bi平台的数据流编排方法,其特征在于,所述smartetl按照预设的etl执行模板,对所述用户算子进行解析,获得包含各个etl算...
【专利技术属性】
技术研发人员:史栋,曹银通,李迪砺,苏春园,
申请(专利权)人:杭州观远数据有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。