CN115145652A - 一种数据处理任务的创建方法、装置、设备及介质 - Google Patents
一种数据处理任务的创建方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115145652A CN115145652A CN202210734863.6A CN202210734863A CN115145652A CN 115145652 A CN115145652 A CN 115145652A CN 202210734863 A CN202210734863 A CN 202210734863A CN 115145652 A CN115145652 A CN 115145652A
- Authority
- CN
- China
- Prior art keywords
- task
- execution
- data processing
- flink
- creating
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及计算机技术领域,尤其涉及一种数据处理任务的创建方法、装置、设备及介质。本申请实施例接收客户端发送的至少一个执行任务;针对任意一个执行任务,根据执行任务的任务参数和执行任务对应的任务依赖信息,生成执行任务对应的Flink执行算子;根据各个执行任务对应的Flink执行算子,生成有向无环图;将生成的有向无环图配置到Flink集群中,创建得到数据处理任务。本申请实施例基于Flink组件搭建实时数据处理任务,对大量不同的执行任务进行统一的任务管理。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据处理任务的创建方法、装置、设备及介质。
背景技术
随着公司业务急速发展,产生的数据大量增长,实时平台部门需要为业务部门提供易用、稳定和高效的实时数据服务,基于大数据实时计算的业务作业越来越多的投入线上使用,在互联网领域发挥着重要作用,例如实时推荐、双十一实时大屏统计等。
Flink作为主流的实时数据处理引擎,在实时大数据领域发挥着至关重要的作用,如何搭建一套基于Flink组件的实时数据处理任务成为需要解决的问题。
发明内容
本申请实施例提供一种数据处理任务的创建方法、设备、装置及计算机存储介质,用以提供一种基于Flink组件的实时数据处理任务的搭建方案。
第一方面,本申请实施例提供一种数据处理任务的创建方法,所述数据处理任务基于Flink组件进行数据处理,包括:
接收客户端发送的至少一个执行任务;
针对任意一个执行任务,根据所述执行任务的任务参数和所述执行任务对应的任务依赖信息,生成所述执行任务对应的Flink执行算子;
根据各个执行任务对应的Flink执行算子,生成有向无环图;
将生成的所述有向无环图配置到Flink集群中,创建得到所述数据处理任务。
可选的,所述根据所述执行任务的任务参数和所述执行任务对应的任务依赖信息,生成所述执行任务对应的Flink执行算子,具体包括:
通过执行引擎将所述执行任务的任务参数和所述执行任务对应的任务依赖信息,加载至所述执行任务对应的session;
基于包含所述执行任务的任务参数和所述执行任务对应的任务依赖信息的session,调用runstatement方法,生成所述执行任务对应的Flink执行算子。
可选的,在接收客户端发送的至少一个执行任务之后,通过执行引擎将所述执行任务的任务参数和所述执行任务对应的任务依赖信息,加载至所述执行任务对应的session之前,还包括:
基于所述执行任务对应的异步消息处理对象获取所述执行任务的任务参数;
根据所述执行任务的任务参数、以及session管理器中存储的多个任务参数与session之间的对应关系,确定所述执行任务对应的session。
可选的,所述方法还包括:
若确定所述session管理器不存在所述执行任务对应的session,则根据所述执行任务的任务参数创建所述执行任务对应的session;
在所述session管理器中存储所述执行任务的任务参数与创建的session之间的对应关系。
可选的,所述根据各个执行任务对应的Flink执行算子,生成有向无环图,具体包括:
根据各个执行任务对应的Flink执行算子,通过触发execute方法生成有向无环图。
可选的,在生成表示所述至少一个执行任务之间业务逻辑的有向无环图之后,创建得到所述数据处理任务之前,该方法还包括:
根据预设的资源管理器运行模式构造YARN客户端;
根据构造得到的所述YARN客户端,将生成的有向无环图配置到YARN上,并运行所述YARN。
第二方面,本申请实施例一种数据处理任务的创建方法,数据处理任务基于Flink组件进行数据处理,包括:
响应用户提交的至少一个任务执行命令,对所述至少一个任务执行命令分别进行语法规范化处理得到至少一个执行任务;
将所述至少一个执行任务通过任务网关发送给服务端,以使所述服务端根据所述至少一个执行任务创建所述数据处理任务。
第三方面,本申请实施例提供一种创建数据处理任务的装置,包括:
接收模块,用于接收客户端发送的至少一个执行任务;
生成模块,用于针对任意一个执行任务,根据所述执行任务的任务参数和所述执行任务对应的任务依赖信息,生成所述执行任务对应的Flink执行算子;
确定模块,用于根据各个执行任务对应的Flink执行算子,生成有向无环图;
创建模块,用于将生成的所述有向无环图配置到Flink集群中,创建得到所述数据处理任务。
第四方面,本申请实施例提供一种创建数据处理任务的装置,包括:
处理模块,响应用户提交的至少一个任务执行命令,对所述至少一个任务执行命令分别进行语法规范化处理得到至少一个执行任务;
发送模块,将所述至少一个执行任务通过任务网关发送给服务端,以使所述服务端根据所述至少一个执行任务创建所述数据处理任务。
第五方面,本申请实施例提供一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如上述第一方面或第二方面中任一项的数据处理任务的创建方法。
第六方面,本申请实施例一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述第一方面或第二方面中任一项的数据处理任务的创建方法。
第七方面,本申请实施例提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行以实现如上述第一方面或第二方面中任一项的数据处理任务的创建方法。
本申请实施例中,在接收到客户端发送的至少一个执行任务之后;针对任意一个执行任务,根据执行任务的任务参数和执行任务对应的任务依赖信息,生成执行任务对应的Flink执行算子;根据各个执行任务对应的Flink执行算子,生成有向无环图;将生成的有向无环图配置到Flink集群中,创建得到数据处理任务。本申请实施例给出一种数据处理任务的创建方法,可以对大量的不同的执行任务进行统一的任务管理、统一执行任务运行的提交入口,并且提高执行任务的运行速率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种可选的数据处理任务的创建方法的应用场景示意图;
图2为本申请实施例提供的一种应用于客户端侧数据处理任务的创建方法流程图;
图3为本申请实施例提供的一种客户端的显示界面中展示任务执行命令输入界面示意图;
图4为本申请实施例提供的一种将任务执行命令进行提交示意图;
图5为本申请实施例提供的一种基于任务网关提交执行任务的示意图;
图6为本申请实施例提供的一种客户端侧进行数据处理任务的创建方法的整体流程图;
图7为本申请实施例提供的一种应用于服务端侧数据处理任务的创建方法流程图;
图8为本申请实施例提供的一种基于Netty服务器构建的任务网关,异步消息处理对象,session管理器,session关系的示意图;
图9为本申请实施例提供的一种数据处理任务的创建方法的整体流程图;
图10为本申请实施例提供的一种创建数据处理任务的装置示意图;
图11为本申请实施例提供的另一种创建数据处理任务的装置示意图;
图12为本申请实施例提供的电子设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
本申请实施例描述的应用场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。其中,在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
随着公司业务急速发展,产生的数据大量增长,实时平台部门需要为业务部门提供易用、稳定和高效的实时数据服务,基于大数据实时计算的业务作业越来越多的投入线上使用,很多公司都会用到Flink引擎作为实时数据处理的主要组件,所以很多公司都会以Flink组件为核心,去搭建或研发属于适合公司的一套实时处理平台,但是不同部门的业务需求经常发生变化,各个部门中不同的用户编写执行任务,引发代码管理分散,定位问题困难、执行任务资源无法合理分配的问题;因此,如何对大量的不同的执行任务进行统一的任务管理、统一任务提交入口就显得很有必要。
为了解决上述问题,本申请提供一种数据处理任务的创建方法,接收客户端发送的至少一个执行任务;针对任意一个执行任务,根据执行任务的任务参数和执行任务对应的任务依赖信息,生成执行任务对应的Flink执行算子;根据各个执行任务对应的Flink执行算子,生成有向无环图;将生成的有向无环图配置到Flink集群中,创建得到数据处理任务。
本申请实施例用户可以通过客户端触发创建任务,在服务器端创建数据处理任务。
如图1所示,本申请实施例一种可选的数据处理任务的创建方法的应用场景示意图,包括服务端100以及终端101,服务端100与终端101之间可以通过网络实现可通信的连接,以实现本申请的数据处理任务的创建方法。
用户可以使用服务端100通过网络与终端101交互,例如接收或发送消息等。终端101上可以安装有各种客户端应用程序,例如程序编写类应用、网页浏览器应用、搜索类应用等。终端101可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、台式计算机等等。
安装于终端101上的客户端用于响应用户提交的至少一个任务执行命令,对至少一个任务执行命令分别进行语法规范化处理得到至少一个执行任务;将至少一个执行任务通过任务网关发送给服务端,以使服务端根据至少一个执行任务创建数据处理任务。
服务端100用于接收客户端发送的至少一个执行任务;针对任意一个执行任务,根据执行任务的任务参数和执行任务对应的任务依赖信息,生成执行任务对应的Flink执行算子;根据各个执行任务对应的Flink执行算子,生成有向无环图;将生成的有向无环图配置到Flink集群中,创建得到数据处理任务。其中,服务端100可以为独立的服务器或者是多个服务器组成的服务器集群来实现。
如图2所示,本申请实施例提供的一种数据处理任务的创建方法流程图,应用于客户端侧,具体可以包括以下步骤:
步骤S201、响应用户提交的至少一个任务执行命令,对至少一个任务执行命令分别进行语法规范化处理得到至少一个执行任务;
步骤S202、将至少一个执行任务通过任务网关发送给服务端,以使服务端根据至少一个执行任务创建数据处理任务。
在用户需要创建数据处理任务时,用户可以通过用于创建数据处理任务的客户端输入任务执行命令;客户端将用户提交的至少一个任务执行命令分别进行语法规范化处理得到执行任务,通过任务网关将规范化处理后得到的至少一个执行任务发送给服务端,由服务器执行创建数据处理任务。
实施中,在需要创建数据处理任务时,用户通过终端的操作界面启动客户端;例如,用户可以双击客户端的图标来启动客户端。
客户端响应用户的启动操作,加载并注册驱动程序,创建Connection对象、创建Statement对象;
在客户端启动完成后,在客户端的显示界面中展示任务执行命令输入界面;如图3所示,用户可以在该界面中输入任务执行命令;
如图4所示,用户在界面中输入任务执行命令之后,点击“提交”选项,将任务执行命令进行提交。
本申请实施例用户提交的任务执行命令中可以包括一个或者多个执行任务;例如,用户提交的任务执行命令的执行任务中包括:创建任务以及查询任务等执行任务。
例如,用户根据自身业务需求,在客户端输入的任务执行命令可以为:
create temporary table‘s_orders’(
order_id BIGINT COMMENT‘订单id,自增’,
auction_id BIGINT COMMENT‘商品id’,
user_id BIGINT COMMENT‘用户id’,
tran_amount INT COMMENT‘交易金额’,
cate_id INT‘类目id’,
gmt_create as CURRENT_TIMESTAMP‘订单创建时间’,)
with(
‘connector’=‘datagen’);
create temporary table‘order_sink’(
order_cnt BIGINT,
gmv BIGINT)
with(
‘connector’=‘kafka’
‘properties’=‘...’);
INSERT INTO‘order_sink’
select
COUNT(*)AS order_cnt--成交总订单
SUM(tran_amount)AS gmv--成交总金额
from
s_orders
GROUP BY auction_id,TUMBLE(gmt_create,INTERVAL‘1’MINUTES)。
用户在客户端输入任务执行命令时,无需熟练java等编程语法和Flink特性,使用Flink SQL语言编写任务执行命令,用户只需会简单的SQL语法就能快速入门,提升用户编写任务执行命令的业务效率,同时统一用户输入的开发规范;Flink SQL语言是降低用户使用实时计算门槛而设计的一套符合标准SQL语义的开发语言。
在步骤S201中,客户端获取到用户提交的任务执行命令,通过Calcite工具对任务执行命令进行语法规范化处理;
其中,语法规范化处理包括但不限于语法校验以及语法优化。
本申请实施例对用户提交的任务执行命令进行语法规范化处理,减少用户输入任务执行命令语法不规范的问题,这样使得发送至任务网关的执行任务均是经语法规范化处理之后的,可以提高任务网关的运行效率。在步骤S202中,客户端将进行语法规范化处理后得到的至少一个执行任务通过任务网关发送给服务端;由于本申请实施例客户端通过任务网关将语法规范化处理后得到的至少一个执行任务发送给服务端,这种通过任务网关进行任务提交的方式可以统一提交的收口路径。
客户端通过RESTful API将进行语法规范化处理后得到的至少一个执行任务通过任务网关发送给服务端之后,客户端获取ResultSet对象,并通过ResultSet对象获取运行状态查询数据;客户端在获取到运行状态查询数据之后完毕,关闭ResultSet对象、以及关闭Statement对象和Connection对象。
本申请实施例中基于Netty服务器构建任务网关;其中,Netty服务器基于Flink-runtime依赖中的RestServerEndpoint实现;依赖是一种关系,表示类与类之间的连接,表示一个类依赖于另外一个类的定义,依赖关系时是单向的。为了便于理解依赖关系,举例说明:假设有两个类,类A和类B,类A的某个成员方法的参数有类B,说明类A使用了类B,类A依赖类B,依赖关系即uses-a关系。可以理解的是,依赖关系除了被依赖方作为依赖方的方法参数,还可能作为依赖方的方法返回值存在,即依赖关系有多种表现形式。
如图5所示,本申请实施例提供一种基于任务网关提交执行任务的示意图,用户通过RESTful API或集成RESTful API的JDBC开发包集成、接入到自己的应用程序中,图5中的Beeline、Java application、Zeppelin等表示根据实际业务需求需要的开发工具;其中,Beeline是开源社区的一种工具;Java application代表用户根据业务需求的不同,开发的代码;Zeppelin是一个提供交互数据分析且基于Web的笔记本,方便做出可数据驱动的、可交互且可协作的精美文档,并且支持多种语言,包括Scala(使用Apache Spark)、Python(Apache Spark)、SparkSQL、Hive、Markdown、Shell等等;JDBC(Java DatabaseConnectivity,Java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问接口。
客户端通过任务网关对外暴露的IP和端口进行提交任务,在任务网关对外暴露的IP和端口处是RESTful API或是集成RESTful API的JDBC开发包;集成RESTful API的JDBC开发包提供Flink-JDBC的依赖,内部集成RESTful API,可以使用和Mysql一样的DriverManager进行连接;使用JDBC连接方式进行连接可以集成到三方可视化开发工具,比如多个数据分析工具,数据分析工具中的beeline命令行工具,hue可视化工具等工具;RESTful API(Representational State Transfer,表现层状态转化)是一套用来规范多种形式的前端和同一后端的交互方式的协议。
如图6所示,本申请实施例提供的一种客户端侧进行数据处理任务的创建方法流程图,具体可以包括以下步骤:
步骤S601、响应用户触发的启动操作,客户端启动加载并注册驱动程序;
步骤S602、客户端创建Connection对象;
步骤S603、客户端创建Statement对象;
步骤S604、客户端获取用户输入的任务执行命令;
步骤S605、客户端通过Calcite工具对任务执行命令进行语法规范化处理;
步骤S606、客户端通过RESTful API将进行语法规范化处理后得到的至少一个执行任务通过任务网关发送给服务端;
步骤S607、客户端获取ResultSet对象,通过ResultSet对象获取运行状态查询数据;
步骤S608、客户端关闭ResultSet对象;
步骤S609、客户端关闭Statement对象;
步骤S610、客户端关闭Connection对象。
如图7所示,本申请实施例提供的一种数据处理任务的创建方法流程图,应用于服务端侧,具体可以包括以下步骤:
步骤S701、接收客户端发送的至少一个执行任务;
步骤S702、针对任意一个执行任务,根据执行任务的任务参数和执行任务对应的任务依赖信息,生成执行任务对应的Flink执行算子;
步骤S703、根据各个执行任务对应的Flink执行算子,生成有向无环图;
步骤S704、将生成的有向无环图配置到Flink集群中,创建得到数据处理任务。
在步骤S701中,服务端通过任务网关接收客户端发送的至少一个执行任务;其中,执行任务是客户端响应用户提交的任务执行命令后,将任务执行命令进行语法规范化处理后得到的。
一种可选的实施方式中,服务端接收执行任务之后,根据服务端自身设定的执行任务优化规则,将客户端提交的至少一个执行任务按照服务端的执行任务优化规则进行转换,得到优化之后的执行任务;和/或,服务端接收执行任务之后,根据接收到的执行任务中的参数以及用户业务需求的实际情况调整执行任务中的参数,对该执行任务对应的资源进行统一管理控制,防止出现资源不足的问题,避免资源浪费。
服务端在接收到至少一个执行任务之后,生成每一个执行任务对应的Flink执行算子;
可选的,针对任意一个执行任务,本申请实施例根据下列方式生成执行任务对应的Flink执行算子:
通过执行引擎将执行任务的任务参数和执行任务对应的任务依赖信息,加载至执行任务对应的session;基于包含执行任务的任务参数和执行任务对应的任务依赖信息的session,调用runstatement方法,生成执行任务对应的Flink执行算子。
实施中,本申请实施例基于执行任务对应的异步消息处理对象(handler)获取执行任务的任务参数;
其中,执行任务的任务参数包括但不限于执行任务对应的session ID和任务名称。
需要说明的是,本申请实施例session管理器中存储有多个session;如图8所示,session管理器中存储有n个session,每个session包括session ID、共享资源和独享资源;且每个session是基于异步消息处理对象(handler)创建的,基于不同类型的handler创建的session的独享资源不同;例如,handler包括:select handler(选择处理程序)、statushandler(状态处理程序)、cancel handler(取消处理程序)等。
其中,session的共享资源是所有session都能够依赖的共享资源;例如可以是执行默认参数、类加载器等。session的独享资源是用户进行任务执行命令开发时,根据业务需要,导入的session依赖的独享资源;例如可以是tEnv,catalogManager等。
需要说明的是,图8的session管理器中存储的n个session对应的共享资源可以为相同的资源。
在异步消息处理对象(handler)获取执行任务的任务参数之后,基于任务参数中包含的session ID从session管理器中查找与执行任务对应的session。
需要说明的是,若在session管理器中没有查到执行任务对应的session,则通过执行任务对应的异步消息处理对象在session管理器中创建与执行任务对应的session。
本申请实施例在确定出执行任务对应的session之后,通过执行引擎将执行任务的任务参数和执行任务对应的任务依赖信息,加载至执行任务对应的session中,运行对应的runstatement方法,生成执行任务对应的Flink执行算子。
需要说明的是,执行引擎是所有的session共用的执行引擎;执行任务对应的Flink执行算子可以为Flink operation;执行任务对应的任务依赖信息可以为执行任务对应的session中共享资源和独享资源。
在步骤S703中,根据各个执行任务对应的Flink执行算子,通过触发execute方法生成有向无环图;其中,有向无环图表示至少一个执行任务的业务逻辑。
例如,session中的执行任务包括创建任务以及查询任务,根据对应的Flink执行算子,通过触发execute方法生成有向无环图。
在生成有向无环图之后,创建得到数据处理任务之前,根据预设的资源管理器运行模式构造YARN客户端;根据构造得到的YARN客户端,将生成的有向无环图配置到YARN上,并运行YARN。YARN(Yet Another Resource Negotiator,另一种资源协调者)是一种新的Hadoop资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度。
在步骤S704中,服务端创建ProgramDeployer,通过ProgramDeployer把生成的有向无环图部署到Flink集群中,使执行任务可以正常运行,创建得到数据处理任务;其中,Flink集群由多个Flink组件组成。
本申请实施例,在得到数据处理任务之后,当运行执行任务时,执行操作会加入到session的执行任务中;同一个session ID中的所有执行任务在同一个session中运行。
例如,session中的执行任务包括创建任务以及查询任务,创建任务以及查询任务使用同一session ID进行绑定,在session运行时,创建任务以及查询任务在同一个session中执行。
需要说明的是,将生成的有向无环图配置到YARN上,并运行YARN;与将生成的有向无环图配置到Flink集群中,创建得到数据处理任务;两者执行的步骤没有固定的先后顺序。
如图9所示,本申请实施例提供一种数据处理任务的创建方法的整体流程图。
步骤S901、响应用户提交的至少一个任务执行命令,客户端对至少一个任务执行命令分别进行语法规范化处理得到至少一个执行任务;
步骤S902、客户端将至少一个执行任务通过任务网关发送给服务端;
步骤S903、服务端接收客户端发送的至少一个执行任务;
步骤S904、服务端基于执行任务对应的异步消息处理对象获取执行任务的任务参数;
步骤S905、服务端根据执行任务的任务参数、以及session管理器中存储的多个任务参数与session之间的对应关系,确定执行任务对应的session;
步骤S906、服务端针对任意一个执行任务,通过执行引擎将执行任务的任务参数和执行任务对应的任务依赖信息,加载至执行任务对应的session;
步骤S907、服务端基于包含执行任务的任务参数和执行任务对应的任务依赖信息的session,调用runstatement方法,生成执行任务对应的Flink执行算子;
步骤S908、服务端根据各个执行任务对应的Flink执行算子,通过触发execute方法生成有向无环图;
步骤S909、服务端根据预设的资源管理器运行模式构造YARN客户端;
步骤S910、服务端根据构造得到的YARN客户端,将生成的有向无环图配置到YARN上,并运行YARN;
步骤S911、服务端将生成的有向无环图配置到Flink集群中,创建得到数据处理任务。
本申请实施例提供了一种创建数据处理任务的装置,如图10所示,该装置包括:接收模块1001、生成模块1002、确定模块1003、创建模块1004,其中:
接收模块1001,用于接收客户端发送的至少一个执行任务;其中所述至少一个执行任务是所述客户端响应用户提交的至少一个任务执行命令后,将所述至少一个任务执行命令进行语法规范化处理后得到的;
生成模块1002,用于针对任意一个执行任务,根据所述执行任务的任务参数和所述执行任务对应的任务依赖信息,生成所述执行任务对应的Flink执行算子;
确定模块1003,用于根据各个执行任务对应的Flink执行算子,生成有向无环图;
创建模块1004,用于将生成的所述有向无环图配置到Flink集群中,创建得到所述数据处理任务。
可选的,所述生成模块1002具体用于:
通过执行引擎将所述执行任务的任务参数和所述执行任务对应的任务依赖信息,加载至所述执行任务对应的session;
基于包含所述执行任务的任务参数和所述执行任务对应的任务依赖信息的session,调用runstatement方法,生成所述执行任务对应的Flink执行算子。
可选的,在接收客户端发送的至少一个执行任务之后,通过执行引擎将所述执行任务的任务参数和所述执行任务对应的任务依赖信息,加载至所述执行任务对应的session之前,所述生成模块1002还用于:
基于所述执行任务对应的异步消息处理对象获取所述执行任务的任务参数;
根据所述执行任务的任务参数、以及session管理器中存储的多个任务参数与session之间的对应关系,确定所述执行任务对应的session。
可选的,所述生成模块1002还用于:
若确定所述session管理器不存在所述执行任务对应的session,则根据所述执行任务的任务参数创建所述执行任务对应的session;
在所述session管理器中存储所述执行任务的任务参数与创建的session之间的对应关系用于:
可选的,所述确定模块1003具体用于:
根据各个执行任务对应的Flink执行算子,通过触发execute方法生成有向无环图。
可选的,在生成表示所述至少一个执行任务之间业务逻辑的有向无环图之后,创建得到所述数据处理任务之前,所述创建模块1004还用于:
根据预设的资源管理器运行模式构造YARN客户端;
根据构造得到的所述YARN客户端,将生成的有向无环图配置到YARN上,并运行所述YARN。
本申请实施例还提供了另一种创建数据处理任务的装置,如图11所示,该装置包括:处理模块1101、发送模块1102,其中:
处理模块1101,响应用户提交的至少一个任务执行命令,对所述至少一个任务执行命令分别进行语法规范化处理得到至少一个执行任务;
发送模块1102,将所述至少一个执行任务通过任务网关发送给服务端,以使所述服务端根据所述至少一个执行任务创建所述数据处理任务。
本申请实施例还提供了一种电子设备。下面参照图12来描述根据本申请的这种实施方式的电子设备120。图12显示的电子设备120仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图12所示,电子设备120以通用电子设备的形式表现。电子设备120的组件可以包括但不限于:上述至少一个处理器121、上述至少一个存储器122、连接不同系统组件(包括存储器122和处理器121)的总线123。
总线123表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储器122可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)1221和/或高速缓存存储器1222,还可以进一步包括只读存储器(ROM)1223。
存储器122还可以包括具有一组(至少一个)程序模块1224的程序/实用工具1225,这样的程序模块1224包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
电子设备120也可以与一个或多个外部设备124(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与电子设备120交互的设备通信,和/或与使得该电子设备120能与一个或多个其它电子设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口125进行。并且,电子设备120还可以通过网络适配器126与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器126通过总线123与用于电子设备120的其它模块通信。应当理解,尽管图中未示出,可以结合电子设备120使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器122,上述指令可由处理器121执行以完成上述数据处理任务的创建方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供一种计算机程序产品,包括计算机程序,计算机程序被处理器121执行时实现如本申请提供的数据处理任务的创建方法的任一方法。
在示例性实施例中,本申请提供的一种数据处理任务的创建方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的数据处理任务的创建方法中的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的用于数据处理任务的创建方法的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在电子设备上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户电子设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户电子设备上部分在远程电子设备上执行、或者完全在远程电子设备或服务端上执行。在涉及远程电子设备的情形中,远程电子设备可以通过任意种类的网络,例如局域网(LAN)或广域网(WAN),连接到用户电子设备,或者,可以连接到外部电子设备,例如利用因特网服务提供商来通过因特网连接。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程图像缩放设备的处理器以产生一个机器,使得通过计算机或其他可编程图像缩放设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程图像缩放设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程图像缩放设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (11)
1.一种数据处理任务的创建方法,其特征在于,所述数据处理任务基于Flink组件进行数据处理,所述方法包括:
接收客户端发送的至少一个执行任务;
针对任意一个执行任务,根据所述执行任务的任务参数和所述执行任务对应的任务依赖信息,生成所述执行任务对应的Flink执行算子;
根据各个执行任务对应的Flink执行算子,生成有向无环图;
将生成的所述有向无环图配置到Flink集群中,创建得到所述数据处理任务。
2.如权利要求1所述的方法,其特征在于,所述根据所述执行任务的任务参数和所述执行任务对应的任务依赖信息,生成所述执行任务对应的Flink执行算子,具体包括:
通过执行引擎将所述执行任务的任务参数和所述执行任务对应的任务依赖信息,加载至所述执行任务对应的session;
基于包含所述执行任务的任务参数和所述执行任务对应的任务依赖信息的session,调用runstatement方法,生成所述执行任务对应的Flink执行算子。
3.如权利要求2所述的方法,其特征在于,在接收客户端发送的至少一个执行任务之后,通过执行引擎将所述执行任务的任务参数和所述执行任务对应的任务依赖信息,加载至所述执行任务对应的session之前,还包括:
基于所述执行任务对应的异步消息处理对象获取所述执行任务的任务参数;
根据所述执行任务的任务参数、以及session管理器中存储的多个任务参数与session之间的对应关系,确定所述执行任务对应的session。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
若确定所述session管理器不存在所述执行任务对应的session,则根据所述执行任务的任务参数创建所述执行任务对应的session;
在所述session管理器中存储所述执行任务的任务参数与创建的session之间的对应关系。
5.如权利要求1~4任一项所述的方法,其特征在于,所述根据各个执行任务对应的Flink执行算子,生成有向无环图,具体包括:
根据各个执行任务对应的Flink执行算子,通过触发execute方法生成有向无环图。
6.如权利要求1~4任一项所述的方法,其特征在于,在生成有向无环图之后,创建得到所述数据处理任务之前,该方法还包括:
根据预设的资源管理器运行模式构造YARN客户端;
根据构造得到的所述YARN客户端,将生成的有向无环图配置到YARN上,并运行所述YARN。
7.一种数据处理任务的创建方法,其特征在于,所述数据处理任务基于Flink组件进行数据处理,所述方法包括:
响应用户提交的至少一个任务执行命令,对所述至少一个任务执行命令分别进行语法规范化处理得到至少一个执行任务;
将所述至少一个执行任务通过任务网关发送给服务端,以使所述服务端根据所述至少一个执行任务创建所述数据处理任务。
8.一种创建数据处理任务的装置,其特征在于,包括:
接收模块,用于接收客户端发送的至少一个执行任务;
生成模块,用于针对任意一个执行任务,根据所述执行任务的任务参数和所述执行任务对应的任务依赖信息,生成所述执行任务对应的Flink执行算子;
确定模块,用于根据各个执行任务对应的Flink执行算子,生成有向无环图;
创建模块,用于将生成的所述有向无环图配置到Flink集群中,创建得到所述数据处理任务。
9.一种创建数据处理任务的装置,其特征在于,包括:
处理模块,响应用户提交的至少一个任务执行命令,对所述至少一个任务执行命令分别进行语法规范化处理得到至少一个执行任务;
发送模块,将所述至少一个执行任务通过任务网关发送给服务端,以使所述服务端根据所述至少一个执行任务创建所述数据处理任务。
10.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1-7中任一项所述的数据处理任务的创建方法。
11.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1-7中任一项所述的数据处理任务的创建方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210734863.6A CN115145652A (zh) | 2022-06-27 | 2022-06-27 | 一种数据处理任务的创建方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210734863.6A CN115145652A (zh) | 2022-06-27 | 2022-06-27 | 一种数据处理任务的创建方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115145652A true CN115145652A (zh) | 2022-10-04 |
Family
ID=83407409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210734863.6A Pending CN115145652A (zh) | 2022-06-27 | 2022-06-27 | 一种数据处理任务的创建方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115145652A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115794064A (zh) * | 2022-10-25 | 2023-03-14 | 中电金信软件有限公司 | 任务处理流程的配置方法、装置、电子设备及存储介质 |
-
2022
- 2022-06-27 CN CN202210734863.6A patent/CN115145652A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115794064A (zh) * | 2022-10-25 | 2023-03-14 | 中电金信软件有限公司 | 任务处理流程的配置方法、装置、电子设备及存储介质 |
CN115794064B (zh) * | 2022-10-25 | 2024-02-06 | 中电金信软件有限公司 | 任务处理流程的配置方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8751558B2 (en) | Mashup infrastructure with learning mechanism | |
US11327964B2 (en) | Integration query builder framework | |
US8863075B2 (en) | Automated support for distributed platform development | |
US9747353B2 (en) | Database content publisher | |
CN108108986B (zh) | 一种客户关系管理系统的设计方法、装置及电子设备 | |
US10725795B2 (en) | Systems, methods, and apparatuses for dynamic creation of an external code segment within a cloud based computing environment | |
US10915378B1 (en) | Open discovery service | |
US11366704B2 (en) | Configurable analytics for microservices performance analysis | |
US20220284371A1 (en) | Method, device and medium for a business function page | |
CN111666293A (zh) | 数据库访问方法和装置 | |
CN114282129A (zh) | 信息系统页面生成方法、系统、电子设备及存储介质 | |
CN111125064A (zh) | 一种生成数据库模式定义语句的方法和装置 | |
CN115587575A (zh) | 数据表创建方法、目标数据查询方法、装置及设备 | |
US10505873B2 (en) | Streamlining end-to-end flow of business-to-business integration processes | |
US20230222178A1 (en) | Synthetic data generation for machine learning model simulation | |
CN115145652A (zh) | 一种数据处理任务的创建方法、装置、设备及介质 | |
US20240070151A1 (en) | Database systems and client-side query transformation methods | |
US20240070149A1 (en) | Database systems and client-side data synchronization methods | |
US10534588B2 (en) | Data processing simulator with simulator module and data elements | |
CN114237765B (zh) | 功能组件处理方法、装置、电子设备和介质 | |
CN113760240B (zh) | 一种生成数据模型的方法和装置 | |
US20150317348A1 (en) | Gateway enablement of analytic database services | |
US11614981B2 (en) | Handling of metadata for microservices processing | |
US12099491B2 (en) | Database systems and methods for client-side initiation of server-side actions | |
US20230409992A1 (en) | User interface and implementation for application service custom logic |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |