基于界面的spark任务流程构建方法和计算机可读存储介质技术

技术编号:22054613 阅读:34 留言:0更新日期:2019-09-07 15:02
本发明专利技术提供一种基于界面的spark任务流程构建方法和计算机可读存储介质,包括:建立任务组件库,所述任务组件库包括复数个由spark算子封装成的任务组件,定义任务组件的配置属性和前驱后置关系和所述任务组件间的任务执行关系;提供可视化界面,显示所述任务组件,并获取用户在所述可视化界面上对所述任务组件的操作结果,所述操作结果为有向无环图;采用拓扑排序算法遍历所述有向无环图,得到spark任务执行队列;按照顺序解析所述spark任务执行队列,得到spark可执行算子队列;执行所述spark可执行算子队列,得到执行结果并显示在所述可视化界面上。本发明专利技术通过将spark算子封装成任务组件并提供可视化界面,便于用户使用spark计算引擎,且操作简单易上手,不容易出错。

Interface-based Spark Task Flow Construction Method and Computer Readable Storage Media

【技术实现步骤摘要】
基于界面的spark任务流程构建方法和计算机可读存储介质
本专利技术涉及一种计算机可视化编程领域,尤其涉及一种基于界面的spark任务流程构建方法和计算机可读存储介质。
技术介绍
随着大数据技术的快速发展,各大公司企业,尤其是互联网企业,都在从各个角度采集数据、存储数据、处理数据、分享数据、检索数据、分析数据、展示数据和挖掘数据背后的商业价值,并通过打造一站式大数据分析平台,化解全业务链大数据分析的难题。随着业务应用的精细化,降低数据分析难度已经成为各大公司的重点研究方向。Spark是专为大规模数据处理而设计的快速通用的计算引擎,其拥有高效、稳定特性和强大的社区支持,是一种主流的数据分析技术。现在绝大多数开发人员都是通过撰写代码直接构建spark任务流程,对不懂编码的数据工作者来说,spark使用门槛比较高,即使对于懂编码的编程人员而言,通过撰写代码构建spark任务也十分不直观,而且容易出错。
技术实现思路
本专利技术要解决的技术问题之一,在于提供一种基于界面的spark任务流程构建方法,使用户可通过界面上组件的拖拽操作,即可构建spark任务流程,并按照用户指定要求执行spark任务。本专利技术要解决的技术问题之一是这样实现的:步骤10、建立任务组件库,所述任务组件库包括复数个由spark算子封装成的任务组件,定义所述任务组件的配置属性;步骤20、定义所述任务组件的前驱后置关系和所述任务组件间的任务执行关系;步骤30、提供可视化界面,显示所述任务组件,并获取用户在所述可视化界面上对所述任务组件的操作结果,所述操作结果为有向无环图;步骤40、采用拓扑排序算法遍历所述有向无环图,得到spark任务执行队列;步骤50、按照顺序解析所述spark任务执行队列,得到spark可执行算子队列;步骤60、执行所述spark可执行算子队列,得到执行结果并显示在所述可视化界面上。进一步地,所述步骤10中,所述spark算子包括交运算、并运算、排序、数据合并、数据读取和数据写入。进一步地,通过JSON或XML定义所述任务组件的配置属性、所述任务组件的前驱后置关系和所述任务组件间的任务执行关系。进一步地,所述步骤30中,用户在所述可视化界面上对所述任务组件的操作包括拖拽所述任务组件和连线所述任务组件。进一步地,所述步骤60具体为,按照所述spark可执行算子队列顺序执行每一个组件,前一个组件的输出作为后一个组件的输入,直到结束,得到执行结果并显示在所述可视化界面上。本专利技术要解决的技术问题之二,在于提供一种计算机可读存储介质,其上存储有计算机程序(指令),其特征在于,该程序(指令)被处理器执行时实现以下步骤:步骤10、建立任务组件库,所述任务组件库包括复数个由spark算子封装成的任务组件,定义所述任务组件的配置属性;步骤20、定义所述任务组件的前驱后置关系和所述任务组件间的任务执行关系;步骤30、提供可视化界面,显示所述任务组件,并获取用户在所述可视化界面上对所述任务组件的操作结果,所述操作结果为有向无环图;步骤40、采用拓扑排序算法遍历所述有向无环图,得到spark任务执行队列;步骤50、按照顺序解析所述spark任务执行队列,得到spark可执行算子队列;步骤60、执行所述spark可执行算子队列,得到执行结果并显示在所述可视化界面上。进一步地,所述步骤10中,所述spark算子包括交运算、并运算、排序、数据合并、数据读取和数据写入。进一步地,通过JSON或XML定义所述任务组件的配置属性、所述任务组件的前驱后置关系和所述任务组件间的任务执行关系。进一步地,所述步骤30中,用户在所述可视化界面上对所述任务组件的操作包括拖拽所述任务组件和连线所述任务组件。进一步地,所述步骤60具体为,按照所述spark可执行算子队列顺序执行每一个组件,前一个组件的输出作为后一个组件的输入,直到结束,得到执行结果并显示在所述可视化界面上。本专利技术具有如下优点:通过将spark算子封装成任务组件并提供可视化操作界面,用户可以根据自己的数据处理的需求构建符合实际需求的分析流程,在所述可视化界面上通过对所述任务组件进行拖拽和连线等操作构建spark任务,便于用户使用spark计算引擎,使用户更直观了解每个操作流程,且操作简单易上手,不容易出错。附图说明下面参照附图结合实施例对本专利技术作进一步的说明。图1为本专利技术实施例基于界面的spark任务流程构建方法执行流程图。图2为本专利技术实施例基于界面的spark任务流程构建方法任务组件属性参数配置示意图之一。图3为本专利技术实施例基于界面的spark任务流程构建方法任务组件属性参数配置示意图之二。图4为本专利技术实施例基于界面的spark任务流程构建方法可视化界面及操作结果示意图。图5为本专利技术实施例基于界面的spark任务流程构建方法Spark执行核心代码示意图。具体实施方式请参考图1至5,本专利技术实施例提供一种基于界面的spark任务流程构建方法,包括:步骤10、建立任务组件库,所述任务组件库包括复数个由spark算子封装成的任务组件,定义所述任务组件的配置属性;所述spark算子包括交运算(比如“交集比对”)、并运算(比如“数据合并”)、排序(比如“字段显示”)、数据合并(比如“数据去重”)、数据读取(比如“数据源”)和数据写入(比如“文件输出”)。可以通过JSON或XML定义所述任务组件的配置属性;JSON(JavaScriptObjectNotation)一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。可在不同平台之间进行数据交换。JSON采用兼容性很高的、完全独立于语言文本格式,同时也具备类似于C语言的习惯(包括C,C++,C#,Java,JavaScript,Perl,Python等)体系的行为。扩展标记语言(ExtensibleMarkupLanguage,XML),用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。本专利技术实施例采用JSON定义所述任务组件的配置属性;每个任务组件根据功能特性需要定义不同的属性参数,下面例举出公用的配置项:Id:每个组件实例的ID;Name:组件名称;nameCn:组件中文名称;Type:表示组件类型,如:数据源节点:IN,数据输出节点:OUT,数据转换节点:TRANSFORM,数据合并节点:ASSOCIATION等;Rendering:组件属性渲染数据,该数据通常在构建模型的时候,从前一个节点获取,每个组件要渲染的数据各不相同,可能是普通输入框,可能是下拉框,可能是数组;输出节点需要配置[输出字段],初始值是一个列表;Condition:属性数据配置完成的最终结果;通常是后台完成计算需要的参数,每个组件的参数各不相同可能是普通输入值,也可能是列表,属性[分隔符]是一个普通输入值(如图2);属性[输出字段]是勾选的字段列表(如图3)。步骤20、定义所述任务组件的前驱后置关系和所述任务组件间的任务执行关系;可以通过JSON或XML定义所述任务组件的前驱后置关系和所述任务组件间的任务执行关系,本专利技术实施例采用JSON定义所述任务组件的前驱后置关系和所述任务组件间的任务执行关系,定义格式如下:本文档来自技高网...

【技术保护点】
1.一种基于界面的spark任务流程构建方法,其特征在于,包括如下步骤:步骤10、建立任务组件库,所述任务组件库包括复数个由spark算子封装成的任务组件,定义所述任务组件的配置属性;步骤20、定义所述任务组件的前驱后置关系和所述任务组件间的任务执行关系;步骤30、提供可视化界面,显示所述任务组件,并获取用户在所述可视化界面上对所述任务组件的操作结果,所述操作结果为有向无环图;步骤40、采用拓扑排序算法遍历所述有向无环图,得到spark任务执行队列;步骤50、按照顺序解析所述spark任务执行队列,得到spark可执行算子队列;步骤60、执行所述spark可执行算子队列,得到执行结果并显示在所述可视化界面上。

【技术特征摘要】
1.一种基于界面的spark任务流程构建方法,其特征在于,包括如下步骤:步骤10、建立任务组件库,所述任务组件库包括复数个由spark算子封装成的任务组件,定义所述任务组件的配置属性;步骤20、定义所述任务组件的前驱后置关系和所述任务组件间的任务执行关系;步骤30、提供可视化界面,显示所述任务组件,并获取用户在所述可视化界面上对所述任务组件的操作结果,所述操作结果为有向无环图;步骤40、采用拓扑排序算法遍历所述有向无环图,得到spark任务执行队列;步骤50、按照顺序解析所述spark任务执行队列,得到spark可执行算子队列;步骤60、执行所述spark可执行算子队列,得到执行结果并显示在所述可视化界面上。2.如权利要求1所述的基于界面的spark任务流程构建方法,其特征在于:所述步骤10中,所述spark算子包括交运算、并运算、排序、数据合并、数据读取和数据写入。3.如权利要求1所述的基于界面的spark任务流程构建方法,其特征在于:通过JSON或XML定义所述任务组件的配置属性、所述任务组件的前驱后置关系和所述任务组件间的任务执行关系。4.如权利要求1所述的基于界面的spark任务流程构建方法,其特征在于:所述步骤30中,用户在所述可视化界面上对所述任务组件的操作包括拖拽所述任务组件和连线所述任务组件。5.如权利要求1所述的基于界面的spark任务流程构建方法,其特征在于:所述步骤60具体为,按照所述spark可执行算子队列顺序执行每一个组件,前一个组件的输出作为后一个组件的输入,直到结束,得到执行结果并显示在所述可视化...

【专利技术属性】
技术研发人员:陈光淙涂建群
申请(专利权)人:南威软件股份有限公司
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1