数据处理方法、装置、电子设备及可读存储介质制造方法及图纸

技术编号:25834423 阅读:21 留言:0更新日期:2020-10-02 14:15
本申请实施例提供了一种数据处理方法、装置、电子设备及可读存储介质。该方法由终端设备执行,该方法包括:获取数据处理请求,数据处理请求中包括待执行代码文件;加载待执行代码文件所对应的Spark任务执行文件;通过运行Spark任务执行文件,生成待执行代码文件对应的Spark对象;启动Spark对象对应的线程,通过线程将待执行代码文件中的待执行代码发送至Spark集群,以使Spark集群运行待执行代码,并返回运行待执行代码的运行结果。在本申请实施例中,在获取到待执行代码时,只需设置核心处理逻辑即可在终端设备中将待执行代码发送至Spark集群,简化了运行待执行代码的流程,还提高了灵活性和扩展性。

【技术实现步骤摘要】
数据处理方法、装置、电子设备及可读存储介质
本申请涉及计算机
,具体而言,本申请涉及一种数据处理方法、装置、电子设备及可读存储介质。
技术介绍
如图1所示,现有技术中在使用NiFi工具执行Spark任务时,需要启动额外的livy服务器(图中的Livy服务器)将Spark任务提交到Spark集群中运行,具体可以包括:NiFi处理器在获取到待执行代码后,通过http(HyperTextTransferProtocol,超文本传输协议)请求方式将待执行代码发送到livy服务器,然后由livy服务器将执行代码提交到Spark集群中运行,Spark集群运行待执行代码后将运行结果返回至NiFi中。但是,在这过程中需要额外安装配置livy服务器,进而在使用NiFi执行Spark任务时便增加了使用的复杂度、降低了处理效率,并且在扩展灵活性等方面不够灵活。
技术实现思路
本申请的目的旨在至少能解决上述的技术缺陷之一。一方面,本申请实施例提供了一种数据处理方法,该方法由终端设备执行,该方法包括:获取数据处理请求,数据处理请求中包括待执行代码文件;加载待执行代码文件所对应的Spark任务执行文件;通过运行Spark任务执行文件,生成待执行代码文件对应的Spark对象;启动Spark对象对应的线程,通过线程将待执行代码文件中的待执行代码发送至Spark集群,以使Spark集群运行待执行代码,并返回运行待执行代码的运行结果。另一方面,本申请实施例提供了一种数据处理装置,该装置包括:处理请求获取模块,用于获取数据处理请求,数据处理请求中包括待执行代码文件;文件加载模块,用于加载待执行代码文件所对应的Spark任务执行文件;对象生成模块,用于通过运行Spark任务执行文件,生成待执行代码对应的Spark对象;代码发送模块,用于启动Spark对象对应的线程,通过线程将待执行代码发送至Spark集群,以使Spark集群运行待执行代码文件,并返回运行待执行代码文件的运行结果。又一方面,本申请实施例提供了一种电子设备,包括处理器以及存储器:存储器被配置用于存储计算机程序,计算机程序在由处理器执行时,使得处理器执行上述各方面中的各方法。再一方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质用于存储计算机程序,当计算机程序在计算机上运行时,使得计算机可以执行上述各方面中的各方法。本申请实施例提供的技术方案带来的有益效果是:在本申请实施例中,终端设备在获取数据处理请求后,可以通过运行待执行代码文件对应于的Spark任务执行文件,生成待执行代码文件对应的Spark对象,然后可以通过Spark对象对应的线程将待执行代码发送至Spark集群,以使Spark集群可以运行待执行代码。可见,在本申请实施例中,可以将执行待执行代码的底层功能抽象至终端设备内,此时在获取到待执行代码时,即可在终端设备中灵活方便的直接将待执行代码发送至Spark集群,相比于现有技术中以http请求的方式将待执行代码发送至livy服务器,然后再通过livy服务器将待执行代码发送至Spark集群,此时不再需要配置任何外部环境(即livy服务器),只需在终端设备中设置待执行代码的核心处理逻辑即可灵活方便的将待执行代码发送至Spark集群,极大的简化了运行待执行代码的流程;并且对应不同的待执行代码,由于此时不再需要通过livy服务器,便不再需要对livy服务器中根据不同的待执行代码进行相应的配置,提高了灵活性和扩展性。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。图1为现有技术中执行Spark任务的流程示意图;图2为本申请实施例提供的一种数据处理方法的流程示意图;图3a为本申请实施例提供的一种数据处理的系统结构图;图3b为本申请实施例提供的一种运行Scala代码的流程示意图;图4为本申请实施例提供的又一种数据处理方法的流程示意图;图5为本申请实施例提供的一种发送待执行代码方法的流程示意图;图6为本申请实施例提供的一种数据处理装置的结构示意图;图7为本申请实施例提供的一种电子设备的结构示意图。具体实施方式下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。本
技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。云计算(cloudcomputing)指IT基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。云计算是网格计算(GridComputing)、分布式计算(DistributedComputing)、并行计算(ParallelComputing)、效用计算(UtilityComputing)、网络存储(NetworkStorageTechnologies)、虚拟化(Virtualization)、负载均衡(LoadBalance)等传统计算机和网络技术发展融合的产物。随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开放协作等需求的推动,云计算迅速发展起来。不同于以往的并行分布式计算,云计算的产生从理念上将推动整个互联网模式、企业管理模式发生革命性的变革。首先对本申请涉及的几个名词进行介绍和解释:NiFi:开源数据处理工具,用于采集数据、转换数据和存储数据等,可以在其中建立任务流进行数据处理,各任务流由很多独立的处理器节点连接起来。NiFi处理器:NiFi中的任务流执行单元,用于完成某个独立功能。Spark集群:开源大数据计算引擎。下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。图2示出了本申请实施例中所提供的一种数据处理方法本文档来自技高网
...

【技术保护点】
1.一种数据处理方法,其特征在于,所述方法由终端设备执行,所述方法包括:/n获取数据处理请求,所述数据处理请求中包括待执行代码文件;/n加载所述待执行代码文件所对应的Spark任务执行文件;/n通过运行所述Spark任务执行文件,生成所述待执行代码文件对应的Spark对象;/n启动所述Spark对象对应的线程,通过所述线程将所述待执行代码文件中的待执行代码发送至Spark集群,以使所述Spark集群运行所述待执行代码,并返回运行所述待执行代码的运行结果。/n

【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法由终端设备执行,所述方法包括:
获取数据处理请求,所述数据处理请求中包括待执行代码文件;
加载所述待执行代码文件所对应的Spark任务执行文件;
通过运行所述Spark任务执行文件,生成所述待执行代码文件对应的Spark对象;
启动所述Spark对象对应的线程,通过所述线程将所述待执行代码文件中的待执行代码发送至Spark集群,以使所述Spark集群运行所述待执行代码,并返回运行所述待执行代码的运行结果。


2.根据权利要求1所述的方法,其特征在于,所述加载所述待执行代码文件所对应的Spark任务执行文件,包括:
确定所述待执行代码文件的编程语言类型;
根据所述编程语言类型,加载所述编程语言类型对应的Spark任务执行文件。


3.根据权利要求2所述的方法,其特征在于,所述编程语言类型为Scala编程语言或python编程语言;
若所述编程语言类型为Scala编程语言,所述启动所述Spark对象对应的线程,通过所述线程将所述待执行代码文件中的待执行代码发送至Spark集群,包括:
通过所述线程创建对应于所述编程语言类型的解释器对象;
通过所述解释器对象,将所述待执行代码文件中的待执行代码发送至Spark集群。


4.根据权利要求3所述的方法,其特征在于,所述通过所述解释器对象,将所述待执行代码文件中的待执行代码发送至Spark集群,包括:
加载所述待执行代码文件中的待执行代码;
启动所述解释器对象,并通过所述解释器对象对加载的所述待执行代码进行编译,得到编译后的执行代码;
将所述编译后的执行代码发送至Spark集群。


5.根据权利要求4所述的方法,其特征在于,所述通过所述解释器对象对加载的所述待执行代码进行编译,得到编译后的执行代码之前,还包括:
将加载的所述待执行代码封装为可运行类;
所述通过所述解释器对象对加载的所述待执行代码进行编译,得到编译后的执行代码,包括:
通过所述解释器对象对所述可运行类进行编译,得到编译后的执行代码。


6.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
接收查询请求...

【专利技术属性】
技术研发人员:缪洲光
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1