数据流图处理结果确定方法、装置、设备及存储介质与流程

文档序号:20917972发布日期:2020-05-29 13:46阅读:214来源:国知局
数据流图处理结果确定方法、装置、设备及存储介质与流程

本申请涉及数据处理技术领域,具体涉及一种数据流图处理结果确定方法、装置、设备及存储介质。



背景技术:

大数据是指无法在一定时间内用常规软件工具对其内容进行捕捉、管理和处理的数据集合。目前,相关技术人员对大数据进行分析处理时,习惯基于数据流图表示数据处理逻辑,数据流图可以从数据传递和加工的角度,以图形方式表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程。

相关技术人员目前主要利用特定的软件平台,基于数据流图实现对于大数据的分析处理。具体的,相关技术人员可以根据自身的实际需求,将需要利用的算子组件拖拽至数据流图编辑画布,按照预设的处理逻辑将拖拽出的算子组件相应地串联起来,数据流图整体编排完成后,相关技术人员可以点击确认控件,查看所编排的数据流图对应的处理结果。

上述软件平台基于数据流图生成对应的处理结果时,需要调用计算引擎spark基于hive中存储的大数据确定处理结果,而hive是一种基于分布式文件系统(hadoopdistributedfilesystem,hdfs)的分布式存储数据库,其支持实时性较差,因此导致处理结果生成速率缓慢,相关技术人员通常需要经过长时间的等待才能查看处理结果。



技术实现要素:

本申请实施例提供了一种数据流图处理结果确定方法、装置、设备及存储介质,能够快速地基于配置的数据流图确定对应的处理结果,提高相关技术人员的使用体验。

有鉴于此,本申请第一方面提供了一种数据流图处理结果确定方法,所述方法包括:

根据已配置的算子确定待运行的目标数据流图;所述目标数据流图表征对于目标数据源的处理逻辑,所述目标数据源存储于分布式存储数据库hive;

解析所述目标数据流图,生成目标结构化查询语言sql;

通过关系型数据库管理系统mysql执行所述目标sql,以基于所述mysql中存储的参考数据源,确定所述目标数据流图对应的处理结果;所述参考数据源与所述目标数据源相对应,所述参考数据源的数据量小于所述目标数据源的数据量。

本申请第二方面提供了一种数据流图处理结果确定装置,其特征在于,所述装置包括:

数据流图确定模块,用于根据已配置的算子确定待运行的目标数据流图;所述目标数据流图表征对于目标数据源的处理逻辑,所述目标数据源存储于分布式存储数据库hive;

sql生成模块,用于解析所述目标数据流图,生成目标结构化查询语言sql;

处理结果确定模块,用于通过关系型数据库管理系统mysql执行所述目标sql,以基于所述mysql中存储的参考数据源,确定所述目标数据流图对应的处理结果;所述参考数据源与所述目标数据源相对应,所述参考数据源的数据量小于所述目标数据源的数据量。

本申请第三方面提供了一种电子设备,所述设备包括处理器以及存储器:

所述存储器用于存储计算机程序;

所述处理器用于根据所述计算机程序,执行如上述第一方面所述的数据流图处理结果确定方法的步骤。

本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述第一方面所述的数据流图处理结果确定方法的步骤。

本申请第五方面提供了一种包括指令的计算机程序产品,当其在计算机上运行时,使得所述计算机执行上述第一方面所述的数据流图处理结果确定方法的步骤。

从以上技术方案可以看出,本申请实施例具有以下优点:

本申请实施例提供了一种数据流图处理结果确定方法,该方法可以基于数据量较少的数据源,针对已配置的数据流图快速地确定其对应的处理结果。具体的,在本申请实施例提供的数据流图处理结果确定方法中,先根据已配置的算子确定待运行的目标数据流图,该目标数据流图用于表征对于目标数据源的处理逻辑,此处的目标数据源存储在分布式存储数据库hive中;然后,解析该目标数据流图,生成目标结构化查询语言(structuredquerylanguage,sql);进而,执行所生成的目标sql,基于关系型数据库管理系统mysql中存储的参考数据源,确定目标数据流图对应的处理结果,该参考数据源与目标数据源相对应,且该参考数据源的数据量远小于目标数据源的数据量。如此,通过调用具备快速响应特性的mysql,基于mysql中存储的小数据量的参考数据源确定目标数据流图对应的处理结果,大大提高了处理结果的生成速率。基于此,本申请提供的技术方案可以进一步支持相关技术人员在配置数据流图的过程中,边配置算子节点边查看处理结果,提高相关技术人员的工作效率,帮助相关技术人员在配置数据流图的过程中及时发现错误。

附图说明

图1为本申请实施例提供的数据流图处理结果确定方法的场景示意图;

图2为本申请实施例提供的数据流图处理结果确定方法的流程示意图;

图3为本申请实施例提供的算子组件的示意图;

图4为本申请实施例提供的数据流图的示意图;

图5为本申请实施例提供的算子配置界面的示意图;

图6为本申请实施例提供的json格式的数据流图的示意图;

图7为本申请实施例提供的目标数据流图的处理结果示意图;

图8为本申请实施例提供的数据同步的示意图;

图9为本申请实施例提供的数据流图处理结果确定方法的交互信令图;

图10为本申请实施例提供的数据流图处理结果确定装置的结构示意图;

图11为本申请实施例提供的数据流图处理结果确定装置的结构示意图;

图12为本申请实施例提供的数据流图处理结果确定装置的结构示意图;

图13为本申请实施例提供的数据流图处理结果确定装置的结构示意图;

图14为本申请实施例提供的数据流图处理结果确定装置的结构示意图;

图15为本申请实施例提供的终端设备的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

为了便于理解本申请实施例提供的数据流图处理结果确定方法,下面先对本申请中涉及的相关技术名词进行解释。

算子,是指在大数据处理中用于实现某种特定功能的算法包,编排数据流图时,若需要调用某个算子,可以将该算子对应的节点拖拽至用于编排数据流图的数据流图配置画布上。

hive,是一种基于分布式系统基础架构hadoop的数据库,其中存储有数据流图运行时需要调用的数据源,此类数据源普遍包括大量数据。

mysql,是一种关系型数据库管理系统,其将数据保存在不同的表中,有效地提升了数据调用的速度和灵活性。

sql,是一种具有特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系型数据库系统。

spark,是专为大规模数据处理而设计的快速通用的计算引擎。

azkaban,是一个批量工作流任务调度器,用于在一个工作流内以特定的顺序运行一组工作和流程。

下面对本申请实施例提供的数据流图处理结果确定方法的核心技术思路进行介绍。

现有技术中,用于编排运行数据流图的软件平台针对用户配置数据流图生成对应的处理结果时,需要调用spark基于hive中存储的大数据确定处理结果,由于hive所支持的实时性较差,且生成处理结果时所利用的数据量较大,因此导致处理结果生成速率缓慢,通常需要等待较长时间才能查看处理结果。

受到处理结果生成速率的影响,现有的用于配置数据流图的软件平台普遍无法支持用户边配置边查看处理结果,即现有的软件平台通常只能在用户确认完成对于数据流图整体的配置后,再调用spark基于hive中存储的大数据确定该数据流图对应的处理结果,用户若要查看数据流图中各算法节点是否配置成功,只能调用日志查看各算法节点的处理结果。

为了解决上述现有技术存在的问题,本申请实施例提供了一种数据流图处理结果确定方法,该方法能够有效地提升数据流图处理结果的生成速率,为边配置数据流图边查看处理结果的数据流图配置方式提供有力的支持。

具体的,在本申请实施例提供的数据流图处理结果确定方法中,先根据已配置的算子确定待运行的目标数据流图,该目标数据流图能够用于表征对于目标数据源的处理逻辑,此处的目标数据源存储在hive中;然后,解析该目标数据流图生成目标sql;进而,执行该目标sql基于mysql中存储的参考数据源,确定该目标数据流图对应的处理结果,此处的参考数据源与目标数据源相对应,并且该参考数据源的数据量小于目标数据源的数据量。

如此,通过调用具备快速响应特性的mysql,基于mysql中存储的数据量较小的参考数据源确定目标数据流图对应的处理结果,能够有效地提升数据流图对应的处理结果的生成速率。基于此,本申请实施例提供的技术方案可以支持相关技术人员在配置数据流图的过程中,边配置算法节点边查看所配置的算法节点对应的处理结果,提高相关技术人员配置数据流图的工作效率,帮助相关技术人员在配置数据流图的过程中及时发现错误。

应理解,本申请实施例提供的数据流图处理结果确定方法通常可以应用于具备数据处理能力的设备,该设备具体可以为终端设备。其中,终端设备具体可以为计算机、个人数字助理(personaldigitalassitant,pda)、平板电脑、智能手机等。

为了便于理解本申请实施例提供的技术方案,下面对本申请实施例提供的数据流图处理结果确定方法所适用的应用场景进行介绍。

参见图1,图1为本申请实施例提供的数据流图处理结果确定方法的应用场景示意图。如图1所示,该应用场景中包括:终端设备110、用户120和mysql服务器130;该终端设备110上运行有用于配置数据流图的软件平台。终端设备110用于执行本申请实施例提供的数据流图处理结果确定方法,以针对目标数据流图快速地确定其对应的处理结果。

具体的,当用户120需要配置数据流图时,用户120可以启动运行终端设备110上部署的用于配置数据流图的软件平台,从该软件平台提供的算子组件中拖拽出所要使用的算子节点至数据流图配置画布上,即实现配置算子。当用户需要查看由已配置的算子编排组成的目标数据流图对应的处理结果时,终端设备110可以响应于用户触发的处理结果查看操作,根据当前数据流图配置画布上已配置的算子确定待运行的目标数据流图,该目标数据流图用于表征对于目标数据源的处理逻辑,此处的目标数据源是用户在配置数据流图时选择的数据源,该目标数据源通常存储在hive中。

终端设备110确定出目标数据流图后,解析该目标数据流图生成对应的目标sql,该目标sql的处理逻辑与目标数据流图表示的处理逻辑相对应。

进而,终端设备110将目标sql传输至mysql服务器130,以通过mysql服务器130执行该目标sql,基于mysql服务器130中存储的参考数据源确定上述目标数据流图对应的处理结果,此处存储在mysql服务器130中的参考数据源是预先创建的与存储在hive中的目标数据源相对应的数据源,其数据量远小于存储在hive中的目标数据源。mysql服务器130确定出处理结果后,相应地将该处理结果返回至终端设备110。

利用mysql服务器130基于小数据量的参考数据源确定目标数据流图对应的处理结果,能够大幅提升目标数据流图处理结果的生成速率,保证相关技术人员可以快速地查看目标数据流图的处理结果。

应理解,图1所示场景仅为示例,在实际应用中,本申请实施例提供的数据流图处理结果确定方法不仅适用于图1所示的场景,还可以适用于其他场景,在此不对本申请实施例提供的数据流图处理结果确定方法适用的应用场景做任何限定。

下面通过实施例对本申请提供的数据流图处理结果确定方法进行介绍。

参见图2,图2为本申请实施例提供的数据流图处理结果确定方法的流程示意图。为了便于描述,下述实施例以终端设备作为执行主体为例,对该数据流图处理结果确定方法的实现过程进行描述。如图2所示,该数据流图处理结果确定方法包括以下步骤:

步骤201:根据已配置的算子确定待运行的目标数据流图;所述目标数据流图表征对于目标数据源的处理逻辑,所述目标数据源存储于分布式存储数据库hive。

用户基于终端设备上运行的用于配置数据流图的软件平台配置数据流图时,可以根据自身需求,选择查看自身当前已编排的数据流图对应的处理结果,当终端设备检测到用户触发查看数据流图对应的处理结果时,终端设备相应地根据用户当前已配置的算子确定待运行的目标数据流图。

需要说明的是,运行目标数据流图实质上就是执行目标数据流图对应的处理逻辑对目标数据源进行处理,此处的目标数据源与用户编排目标数据流图时选择的数据节点相对应,目标数据源通常存储在hive中,数据量较为庞大,若直接运行目标数据流图对应的处理逻辑对目标数据源进行处理,通常需要耗费很长的时间确定处理结果。

在实际应用中,终端设备具体可以通过以下方式确定目标数据流图:获取响应于拖拽操作添加显示在数据流图配置画布上的算子节点,以及响应于连接关系添加操作添加显示在数据流图配置画布上的算子连接关系,然后根据数据流图配置画布上显示的算子节点和算子连接关系,确定目标数据流图。

假设用于配置数据流图的软件平台所提供的算子组件如图3所示,其中包括数据节点(实质上也属于一种算子节点)和算子节点,数据节点包括数据源和结果集,算子节点包括聚合节点、过滤节点、派生列节点、替换节点和连接节点。用户配置数据流图时,可以从图3所示的算子组件中选择自身所需的数据节点和算子节点,并将自身选择的数据节点和算子节点拖拽至数据流图配置画布上,此外,用户还可以根据自身需求针对已拖拽至数据流图配置画布上的数据节点和算子节点添加连接关系,如此实现对于数据流图的配置,一种示例性的数据流图如图4所示。

需要说明的是,用户配置数据流图时,还可以进一步对其选择的算子节点进行配置。如图5所示为一种示例性的配置算子的界面图,以对过滤算子节点进行配置为例,用户可以对该算子的过滤维度、度量、行过滤参考因素和列过滤参考因素进行配置。

在用户配置数据流图的过程,若用户需要查看当前已配置的数据流图对应的处理结果,可以触控界面上显示的处理结果查看控件。相应地,终端设备检测到用户触控处理结果查看控件后,将获取数据流图配置画布上当前配置的数据节点和算子节点,以及数据节点和算子节点之间的连接关系,进而基于数据节点、算子节点以及算子节点和数据节点间的连接关系,确定待运行的目标数据流图。

步骤202:解析所述目标数据流图,生成目标结构化查询语言sql。

终端设备根据已配置的算子确定出目标数据流图后,进一步启动算子服务,即解析该目标数据流图,生成与该目标数据流图的处理逻辑相对应的目标sql。

需要说明的是,终端设备从前端获取到的目标数据流图通常是以javascript对象简谱(javascriptobjectnotation,json)格式表达的,其中包括已配置的各个算子节点、已配置的各个算子节点之间的连接关系、目标数据流图对应的处理逻辑中的起始算子节点和终止算子节点。

图6即为一种示例性的以json格式表达的目标数据流图。其中,nodes表示目标数据流图中所有的算子节点。dependences表示算子节点之间的连接关系,后台基于该数据结构可以确定当前的执行流程。sourcenodeids表示该目标数据流图对应的处理逻辑中的起始节点,targetnodeid表示该目标数据流图对应的处理逻辑中的终止节点。

当目标数据流图为json格式时,终端设备可以相应地根据该以json格式表达的目标数据流图中包括的内容生成目标sql,即终端设备可以根据json格式的目标数据流图中的算子节点、算子节点之间的连接关系、起始算子节点和终止算子节点,确定该目标数据流图对应的处理逻辑,并基于此解析生成目标sql。

步骤203:通过关系型数据库管理系统mysql执行所述目标sql,以基于所述mysql中存储的参考数据源确定所述目标数据流图对应的处理结果;所述参考数据源与所述目标数据源相对应,所述参考数据源的数据量小于所述目标数据源的数据量。

终端设备生成目标sql后,可以将该目标sql传输至性能较高的mysql。mysql执行该目标sql,利用该目标sql对mysql中存储的参考数据源进行相应地处理得到对应的处理结果,由于参考数据源与目标数据源相对应,目标sql与目标数据流图的处理逻辑相对应,因此,mysql执行目标sql得到的处理结果实质上即为目标数据流图对应的处理结果,进而,mysql将该处理结果返回至终端设备,通过终端设备向用户展示目标数据流图对应的处理结果,图7所示即为一种示例性数据流图的处理结果。

需要说明的是,mysql中存储的参考数据源与hive中存储的目标数据源相对应,但是mysql中存储的参考数据源的数据量远小于hive中存储的目标数据源的数据量,因此,利用具有高性能的mysql执行目标sql基于小数据量的参考数据源进行相应地处理,可以快速地确定出对应的处理结果。

需要说明的是,mysql中存储的参考数据源是在创建存储在hive中的目标数据源时同步生成的,下面结合图8,以存储在hive中的目标数据源为第一数据源,存储在mysql中的参考数据源为第二数据源为例,对该数据同步过程进行介绍。

创建需要存储在hive中的第一数据源时,按照预设数据量创建与该第一数据源相对应的数据库以及数据表结构作为第二数据源,将该第二数据源存储在mysql中。当目标数据流图需要基于上述第一数据源(即目标数据源)确定处理结果时,终端设备可以将目标数据流图对应的目标sql传输至mysql,mysql相应地执行该目标sql对于上述第二数据源(即参考数据源)进行处理,得到对应的处理结果返回至终端设备。

需要说明的是,在实际应用中,为了确保对参考数据源进行处理得到的处理结果与对目标数据源进行处理得到的处理结果相接近,即确保这两种处理结果之间的误差在预设误差范围内,在创建与目标数据源对应的参考数据源时,需要保证所创建的参考数据源的数据分布特征与其对应的目标数据源的数据分布特征相近,具体创建参考数据源时,可以随机从目标数据源中选出预设数据量的数据组成参考数据源,或者,也可以按照特定的数据抽取算法从目标数据源中选出预设数据量的数据组成参考数据源,本申请在此不对创建参考数据源时采用的方法做任何限定。

应理解,上述预设数据量可以根据实际需求设定,例如设定为200至1000条数据,本申请在此不对该预设数据量做具体限定。在一种可能的实现方式中,终端设备显示mysql返回的目标数据流图对应的处理结果,用户可以判断该处理结果是否满足预设需求,若确定该处理结果满足预设需求,则用户可以基于目标数据流图继续配置算子节点,终端设备响应于用户配置算子节点的操作,相应地在数据流图配置画布上添加显示用户选择配置的算子节点。

应理解,在实际应用中,终端设备也可以存储对应于处理结果的预设需求,在获取到mysql返回的处理结果后,终端设备可以基于其存储的预设需求对该处理结果进行判断,若确定该处理结果满足预设需求,则允许用户基于当前的目标数据流图继续配置新的算子节点,若确定该处理结果不满足预设需求,则提示用户该处理结果不满足预设需求,需要用户重新配置目标数据流图中的算子节点。

在另一种可能的实现方式中,终端设备显示mysql返回的目标数据流图对应的处理结果,用户可以判断该处理结果是否满足预设需求,若确定该处理结果满足预设需求,用户可以触控模型保存控件,触发保存该目标数据流图对应的模型,即保存目标数据流图模型。

应理解,在实际应用中,终端设备也可以存储对应于处理结果的预设需求,在获取到mysql返回的处理结果后,终端设备可以基于其存储的预设需求对该处理结果进行判断,若确定该处理结果满足预设需求,则可以自动保存该目标数据流图对应的模型,即自动保存目标数据流图模型,若确定该处理结果不满足预设需求,则提示用户该处理结果不满足预设需求,需要用户重新配置目标数据流图中的算子节点。

可选的,为了进一步查看目标数据流图对应的真实处理结果,在确定保存目标数据流图对应的目标数据流图模型之后,本申请实施例提供的方法还可以进一步调用spark对hive中存储的目标数据源进行处理,得到目标数据流图对应的真实处理结果。

具体的,终端设备确定保存目标数据流图对应的目标数据流图模型之后,可以先基于该目标数据流图生成sparksql,该sparksql的处理逻辑与该目标数据流图的处理逻辑相对应;然后,调用工作流任务调度器azkaban,通过该azkaban调用计算引擎spark;进而,通过该spark执行基于目标数据流图生成的sparksql,以基于hive中存储的目标数据源确定该目标数据流图模型对应的处理结果,该处理结果为目标数据流图的真实处理结果。spark确定出目标数据流图模型对应的处理结果后,将该处理结果返回至终端设备,通过终端设备向用户展示该处理结果。

上述数据流图处理结果确定方法,通过调用具备快速响应特性的mysql,基于mysql中存储的数据量较小的参考数据源确定目标数据流图对应的处理结果,能够有效地提升数据流图对应的处理结果的生成速率。基于此,本申请实施例提供的技术方案可以支持相关技术人员在配置数据流图的过程中,边配置算法节点边查看所配置的算法节点对应的处理结果,提高相关技术人员配置数据流图的工作效率,帮助相关技术人员在配置数据流图的过程中及时发现错误。

为了便于进一步理解上文介绍的数据流图处理结果确定方法,下面结合图9,对本申请实施例提供的数据流图处理结果确定方法的实现过程做整体示例性介绍。

如图9所示,用户可以利用终端设备上承载的用于配置数据流图的软件平台901,通过配置算子的方式编排目标数据流图,当用户需要运行当前已编排的目标数据流图查看其对于目标数据源的处理结果时,用户可以触控处理结果查看控件。

相应地,软件平台901检测到用户触发查看目标数据流图对应的处理结果时,启动算子服务902,解析该目标数据流图生成与其处理逻辑对应的目标sql。将所生成的目标sql传输至mysql903,mysql903执行该目标sql,对自身存储的与目标数据源相对应的参考数据源进行处理,得到目标数据流图对应的处理结果。由于mysql903性能较好,且所处理的参考数据源的数据量远小于目标数据源的数据量,因此,mysql903可以快速地确定出目标数据流图对应的处理结果。

mysql903将自身确定的处理结果返回给终端设备中的软件平台901,以通过软件平台901展示该处理结果。若该处理结果满足用户的预设需求,在用户尚未完成对于数据流图的编排的情况下,用户可以选择基于该目标数据流图继续配置算子,在用户已完成对于数据流图的编排的情况下,用户可以选择保存该目标数据流图对应的模型。

软件平台901若检测到用户触发模型保存操作,将再次启动算子服务902,解析该目标数据流图生成与其处理逻辑对应的sparksql,并调用工作流任务调度器azkaban904,通过azkaban904调用计算引擎spark905,spark905执行sparksql对hive中存储的目标数据源进行相应地处理,得到该模型对应的处理结果,进而将该处理结果返回给终端设备中的软件平台901。

针对上文描述的数据流图处理结果确定方法,本申请还提供了对应的数据流图处理结果确定装置,以使上述数据流图处理结果确定方法在实际中得以应用和实现。

参见图10,图10是与上文图2所示的数据流图处理结果确定方法对应的一种数据流图处理结果确定装置1000的结构示意图,该数据流图处理结果确定装置1000包括:

数据流图确定模块1001,用于根据已配置的算子确定待运行的目标数据流图;所述目标数据流图表征对于目标数据源的处理逻辑,所述目标数据源存储于分布式存储数据库hive;

sql生成模块1002,用于解析所述目标数据流图,生成目标结构化查询语言sql;

处理结果确定模块1003,用于通过关系型数据库管理系统mysql执行所述目标sql,以基于所述mysql中存储的参考数据源,确定所述目标数据流图对应的处理结果;所述参考数据源与所述目标数据源相对应,所述参考数据源的数据量小于所述目标数据源的数据量。

可选的,在图10所示的数据流图处理结果确定装置的基础上,参见图11,图11为本申请实施例提供的另一种数据流图处理结果确定装置1100的结构示意图。如图11所示,该数据流图处理结果确定装置1100还包括:

数据同步模块1101,用于针对存储在所述hive中的第一数据源,按照预设数据量创建与所述第一数据源对应的数据库及数据表结构作为第二数据源,将所述第二数据源存储至所述mysql。

可选的,在图10所示的数据流图处理结果确定装置的基础上,所述数据流图确定模块1001具体用于:

获取响应于拖拽操作添加显示在数据流图配置画布上的算子节点,以及响应于连接关系添加操作添加显示在所述数据流图配置画布上的算子连接关系;

根据所述数据流图配置画布上显示的所述算子节点和所述算子连接关系,确定所述目标数据流图。

可选的,在图10所示的数据流图处理结果确定装置的基础上,所述目标数据流图是以json格式表达的,所述目标数据流图中包括:已配置的各个算子节点、已配置的各个算子节点之间的连接关系、所述目标数据流图对应的处理逻辑中的起始算子节点和终止算子节点;

则所述sql生成模块1002具体用于:

根据以json格式表达的所述目标数据流图中包括的内容,生成所述目标sql。

可选的,在图10所示的数据流图处理结果确定装置的基础上,参见图12,图12为本申请实施例提供的另一种数据流图处理结果确定装置1200的结构示意图。如图12所示,该数据流图处理结果确定装置1200还包括:

第一判断模块1201,用于判断所述处理结果是否满足预设需求;

算子配置模块1202,用于若所述处理结果满足所述预设需求,则响应数据流图配置操作基于所述目标数据流图继续配置算子节点。

可选的,在图10所示的数据流图处理结果确定装置的基础上,参见图13,图13为本申请实施例提供的另一种数据流图处理结果确定装置1300的结构示意图。如图13所示,该数据流图处理结果确定装置1300还包括:

第二判断模块1301,用于判断所述处理结果是否满足预设需求;

模型保存模块1302,用于若所述处理结果满足所述预设需求,则保存所述目标数据流图对应的目标数据流图模型。

可选的,在图13所示的数据流图处理结果确定装置的基础上,参见图14,图14为本申请实施例提供的另一种数据流图处理结果确定装置1400的结构示意图。如图14所示,该数据流图处理结果确定装置1400还包括:

sparksql生成模块1401,用于基于所述目标数据流图生成sparksql;

azkaban调用模块1402,用于调用工作流任务调度器azkaban,通过所述azkaban调用计算引擎spark;

模型结果确定模块1403,用于通过所述spark执行所述sparksql,基于所述hive中存储的所述目标数据源,确定所述目标数据流图模型对应的处理结果。

上述数据流图处理结果确定装置,通过调用具备快速响应特性的mysql,基于mysql中存储的数据量较小的参考数据源确定目标数据流图对应的处理结果,能够有效地提升数据流图对应的处理结果的生成速率。基于此,本申请实施例提供的数据流图处理结果确定装置可以支持相关技术人员在配置数据流图的过程中,边配置算法节点边查看所配置的算法节点对应的处理结果,提高相关技术人员配置数据流图的工作效率,帮助相关技术人员在配置数据流图的过程中及时发现错误。

本申请实施例还提供了一种用于确定数据流图处理结果的设备,该设备具体可以是终端设备,下面将从硬件实体化的角度对本申请实施例提供的终端设备进行介绍。

参见图15,图15是本申请实施例提供的终端设备的结构示意图。如图15所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端可以为包括手机、平板电脑、个人数字助理(英文全称:personaldigitalassistant,英文缩写:pda)、销售终端(英文全称:pointofsales,英文缩写:pos)、车载电脑等任意终端设备,以终端为计算机为例:

图15示出的是与本申请实施例提供的终端相关的计算机的部分结构的框图。参考图15,计算机包括:射频(英文全称:radiofrequency,英文缩写:rf)电路1510、存储器1520、输入单元1530、显示单元1540、传感器1550、音频电路1560、无线保真(英文全称:wirelessfidelity,英文缩写:wifi)模块1570、处理器1580、以及电源1590等部件。本领域技术人员可以理解,图15中示出的计算机结构并不构成对计算机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

存储器1520可用于存储软件程序以及模块,处理器1580通过运行存储在存储器1520的软件程序以及模块,从而执行计算机的各种功能应用以及数据处理。存储器1520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

处理器1580是计算机的控制中心,利用各种接口和线路连接整个计算机的各个部分,通过运行或执行存储在存储器1520内的软件程序和/或模块,以及调用存储在存储器1520内的数据,执行计算机的各种功能和处理数据,从而对计算机进行整体监控。可选的,处理器1580可包括一个或多个处理单元;优选的,处理器1580可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1580中。

在本申请实施例中,该终端所包括的处理器1580还具有以下功能:

根据已配置的算子确定待运行的目标数据流图;所述目标数据流图表征对于目标数据源的处理逻辑,所述目标数据源存储于分布式存储数据库hive;

解析所述目标数据流图,生成目标结构化查询语言sql;

通过关系型数据库管理系统mysql执行所述目标sql,以基于所述mysql中存储的参考数据源,确定所述目标数据流图对应的处理结果;所述参考数据源与所述目标数据源相对应,所述参考数据源的数据量小于所述目标数据源的数据量。

可选的,所述处理器1580还用于执行本申请实施例提供的数据流图处理结果确定方法的任意一种实现方式的步骤。

本申请实施例还提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序用于执行前述各个实施例所述的一种数据流图处理结果确定方法中的任意一种实施方式。

本申请实施例还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行前述各个实施例所述的一种数据流图处理结果确定方法中的任意一种实施方式。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文全称:read-onlymemory,英文缩写:rom)、随机存取存储器(英文全称:randomaccessmemory,英文缩写:ram)、磁碟或者光盘等各种可以存储计算机程序的介质。

应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

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