CN113553098A - Flink SQL作业的提交方法、装置及计算机设备 - Google Patents
Flink SQL作业的提交方法、装置及计算机设备 Download PDFInfo
- Publication number
- CN113553098A CN113553098A CN202110848824.4A CN202110848824A CN113553098A CN 113553098 A CN113553098 A CN 113553098A CN 202110848824 A CN202110848824 A CN 202110848824A CN 113553098 A CN113553098 A CN 113553098A
- Authority
- CN
- China
- Prior art keywords
- job
- flink
- submission
- flink sql
- submitting
- 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
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000009434 installation Methods 0.000 claims abstract description 45
- 238000004590 computer program Methods 0.000 claims description 21
- 238000012544 monitoring process Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 12
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000011161 development Methods 0.000 description 7
- 230000018109 developmental process Effects 0.000 description 7
- 230000001419 dependent effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000013508 migration Methods 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- RYYVLZVUVIJVGH-UHFFFAOYSA-N caffeine Chemical compound CN1C(=O)N(C)C(=O)C2=C1N=CN2C RYYVLZVUVIJVGH-UHFFFAOYSA-N 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- LPHGQDQBBGAPDZ-UHFFFAOYSA-N Isocaffeine Natural products CN1C(=O)N(C)C(=O)C2=C1N(C)C=N2 LPHGQDQBBGAPDZ-UHFFFAOYSA-N 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 229960001948 caffeine Drugs 0.000 description 1
- VJEONQKOZGKCAK-UHFFFAOYSA-N caffeine Natural products CN1C(=O)N(C)C(=O)C2=C1C=CN2C VJEONQKOZGKCAK-UHFFFAOYSA-N 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- 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
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请适用于大数据技术领域,提供了一种Flink SQL作业的提交方法、提交装置、计算机设备及存储介质。该提交方法包括:接收Flink SQL作业的上线请求;根据上线请求调用作业提交程序,以加载作业提交程序中所集成的安装包;基于已加载的安装包,将Flink SQL作业提交至待部署的大数据集群中,以完成Flink SQL作业的无环境提交。通过本申请的方法能够降低Flink SQL作业对环境的依赖,从而实现Flink SQL作业的无环境提交,提高Flink SQL作业提交的灵活性以及Flink SQL作业的可移植性。此外,本申请还涉及区块链技术。
Description
技术领域
本申请涉及大数据技术领域,尤其涉及一种Flink SQL作业的提交方法、FlinkSQL作业的提交装置、计算机设备及计算机可读存储介质。
背景技术
Flink作为主流的实时数据处理引擎,在实时大数据领域发挥着至关重要的作用。在基于Flink对实时数据处理之前,需要先对flink进行安装,具体的安装是通过作业提交的方式来实现。
目前,Flink SQL作业的提交过程中,需要先在大数据集群中安装Flink所依赖的环境安装包。一种情况下,当集群扩容或者机器老化而需要上线或下线一部分机器时,需要在新的机器上重新安装Flink所有依赖的安装包,导致Flink对实时数据处理的稳定性受到影响。另一种情况下,因为Kafka数据源可能在不同集群之间切换,这使得Flink SQL作业需要迁移到对应的集群,也需要在新的集群中安装Flink所有依赖的安装包,在一定程度上使得作业迁移流程更加繁琐。
由上可知,目前的Flink SQL作业提交方式过于依赖环境,导致Flink SQL作业提交的灵活性以及Flink SQL作业的可移植性较差。
发明内容
有鉴于此,本申请实施例提供了一种Flink SQL作业的提交方法、Flink SQL作业的提交装置、计算机设备及计算机可读存储介质,能够提高Flink SQL作业提交的灵活性以及Flink SQL作业的可移植性。
本申请实施例的第一方面提供了一种Flink SQL作业的提交方法,包括:
接收上述Flink SQL作业的上线请求;
调用待部署的大数据集群中的任务调度器;
根据上述上线请求触发上述任务调度器启动调度任务;
基于上述调度任务调用作业提交程序,以加载上述作业提交程序中所集成的安装包,其中,上述安装包为Flink所有依赖的安装包;
基于已加载的上述安装包,将上述Flink SQL作业提交至待部署的大数据集群中,以完成Flink SQL作业的无环境提交。
本申请实施例的第二方面提供了一种Flink SQL作业的提交装置,包括:
请求接收模块,用于接收上述Flink SQL作业的上线请求;
第一调用模块,用于调用待部署的大数据集群中的任务调度器;
任务启动模块,用于根据上述上线请求触发上述任务调度器启动调度任务;
第二调用模块,用于基于上述调度任务调用作业提交程序,以加载上述作业提交程序中所集成的安装包,其中,上述安装包为Flink所有依赖的安装包;
作业提交模块,用于基于已加载的上述安装包,将上述Flink SQL作业提交至待部署的大数据集群中,以完成Flink SQL作业的无环境提交。Flink SQL作业提交程序作业提交程序Flink SQL作业Flink SQL作业
本申请实施例的第三方面提供了一种计算机设备,包括存储器、处理器以及存储在上述存储器中并可在计算机设备上运行的计算机程序,上述处理器执行上述计算机程序时实现第一方面提供的Flink SQL作业的提交方法的各步骤。
本申请实施例的第四方面提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现第一方面提供的Flink SQL作业的提交方法的各步骤。
第五方面,本申请提供了一种计算机程序产品,上述计算机程序产品包括计算机程序,上述计算机程序被一个或多个处理器执行时实现如上述第一方面提供的Flink SQL作业的提交方法的步骤。
实施本申请实施例提供的一种Flink SQL作业的提交方法、Flink SQL作业的提交装置、计算机设备及计算机可读存储介质具有以下有益效果:
通过将Flink所有依赖的安装包集成到作业提交程序中,在提交作业的过程中,调用作业提交程序提交作业的同时,加载该程序所集成的安装包,降低Flink SQL作业对环境的依赖,从而实现Flink SQL作业的无环境提交,提高Flink SQL作业提交的灵活性以及Flink SQL作业的可移植性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种基于Flink引擎的实时数据开发平台的结构框图;
图2是本申请实施例提供的一种Flink SQL作业的提交方法的实现流程图;
图3是本申请实施例提供的一种Flink SQL作业的监控系统结构示意图;
图4是本申请实施例提供的一种Flink SQL作业的提交装置的结构框图;
图5是本申请实施例提供的一种计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例所涉及的Flink SQL作业的提交方法,可以由计算机设备,例如笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或个人数字助理(personal digital assistant,PDA)执行,或者服务器执行。
本申请实施例所涉及的Flink SQL作业的提交方法应用于Flink引擎的实时数据开发平台。该平台的架构请参阅图1,图1示出了Flink引擎的实时数据开发平台的架构示意图,为了便于后续对Flink SQL作业的提交方法进行解释,先对该架构示意图中的各组件进行说明:
数据中台前端(BE Data Set ReadyApplication,BE-DSR-APP):用于提供FlinkSQL作业开发及提交的前端页面。
数据中台后端(Data Transmission Service Application,DTS-APP):用于对FlinkStructured Query Language(Flink SQL)注册表以及作业等相关信息进行删改,并将作业提交至后台服务。
MySQL数据库:用于存储两个相关表,即Flink SQL注册表相关信息和配置表;以及Flink SQL作业相关信息和配置表。
任务调度器Azkaban:用于在一个工作流内以一个特定的顺序运行一组工作和流程。
作业提交程序:RCP.jar是Flink SQL唯一通用核心jar包。
大数据集群:用于安装Flink并对其作业进行初始化。
为了让Flink SQL作业的提交不依赖环境,简化作业的迁移流程。下面基于上述各个组件对本申请实施例所提供的Flink SQL作业提交方法进行详细阐述。
请参阅图2,图2示出了本申请实施例提供的一种Flink SQL作业的提交方法的实现流程图。该提交方法包括:
步骤201、接收Flink SQL作业的上线请求。
当开发人员在数据中台前端完成Flink SQL作业的开发后,可以点击上线按钮来启动Flink SQL作业提交程序,即通过数据中台前端向数据中台后端发送Flink SQL作业的上线请求。
步骤202、根据上线请求调用作业提交程序,以加载作业提交程序中所集成的安装包。
在数据中台后端接收到上线请求之后,即可根据该上线请求调用作业提交程序。示例性地,作业提交程序可以为RCP.jar。RCP是远程复制程序,JAR(Java ARchive,Java归档)是一种与平台无关的文件格式,可将多个文件合成一个文件。在RCP中加入第三方JAR包可以得到RCP.jar,RCP.jar可以集成Flink所有依赖的安装包,在调用RCP.jar时,可以对RCP.jar中所集成的安装包进行加载。其中,依赖是一种关系,表示类与类之间的连接,表示一个类依赖于另外一个类的定义,依赖关系时是单向的。为了便于理解依赖关系,举例说明:假设有两个类,类A和类B,类A的某个成员方法的参数有类B,说明类A使用了类B,类A依赖类B,依赖关系即uses-a关系。可以理解的是,依赖关系除了被依赖方作为依赖方的方法参数,还可能作为依赖方的方法返回值存在,即依赖关系有多种表现形式。
步骤203、基于已加载的安装包,将Flink SQL作业提交至待部署的大数据集群中,以完成Flink SQL作业的无环境提交。
在对作业提交程序中所集成的安装包完成加载之后,即可将Flink SQL作业提交至待部署的大数据集群中,从而实现Flink SQL作业的无环境提交。需要注意的是,此处所说的无环境提交并非不需要构建Flink所依赖的环境,而是不需要对Flink依赖的安装包进行单独安装。这是因为在作业提交的过程中就同时完成了环境的构建,从而提高了FlinkSQL作业提交的灵活性以及Flink SQL作业迁移的可移植性。
由上可以看出,通过将Flink所有依赖的安装包集成到作业提交程序中,在提交作业的过程中,调用作业提交程序提交作业的同时,会加载该程序集成的安装包,降低FlinkSQL作业对环境的依赖,从而实现Flink SQL作业的无环境提交,提高Flink SQL作业提交的灵活性以及Flink SQL作业的可移植性。
在一些实施例中,为了提高上线请求适用的广泛性,在数据中台后端接收到上线请求之后,还可以对上线请求进行封装,之后将封装完成的作业上线请求提交到待部署的集群中,从而提高作业提交的稳定性。
但是,在Flink SQL作业实际的提交过程中,大数据集群运维出于安全性的考虑,一般不允许通过直接调用作业提交程序的方式将作业提交到大数据集群中。
在一些实施例中,为了保证Flink SQL作业的成功提交,上述步骤203具体包括:
A1、调用大数据集群中的任务调度器。
A2、根据上线请求触发任务调度器启动调度任务。
A3、基于调度任务调用作业提交程序。
A4、将Flink SQL作业通过作业提交程序提交至待部署的大数据集群中,以完成Flink SQL作业的无环境提交。
任务调度器是部署在大数据集群中的。在本申请实施例中,任务调度器可以是批量工作流任务调度器Azkaban,主要用于在工作流内以特定的顺序运行工作和流程。在调用完任务调度器之后,可以基于上线请求触发任务调度器启动调度任务,并基于调度任务调用作业提交程序进行Flink SQL作业提交。即在本申请实施例中,是将任务调度器作为调用作业提交程序进行Flink SQL作业的中转,从而跨过大数据集群运维的要求,成功调用作业提交程序将Flink SQL作业提交至待部署的大数据集群中,以完成Flink SQL作业的无环境提交。该方法能够提高作业提交的稳定性和成功率。
在一些实施例中,Flink SQL作业的提交步骤,即上述步骤A4具体包括:
A41、基于上线请求通过作业提交程序确定作业提交参数。
利用作业提交程序从上线请求中确定出作业提交参数。具体地,作业提交参数可以包括接收参数ID和/或作业并行度等参数。
A42、基于作业提交参数确定作业数据,并将作业数据发送至作业提交程序。
在确定出作业提交参数之后,可以进一步确定出作业数据,并将作业数据发送给作业提交程序。其中,作业数据指的是完成Flink SQL作业提交所需要的配置数据。在本申请实施例中,先通过数据中台后端的接口对MYSQL数据库中的flink_sql_job_submit表进行查询,如果存在主键为接收参数的IDflink_sql_job_submit表,则将该主键对应的数据确定为作业数据。
A43、将作业数据通过作业提交程序提交至大数据集群的资源调度系统,完成Flink SQL作业的无环境提交。
在确定出作业数据之后,可以通过作业提交程序将作业数据提交给大数据集群的资源调度系统(Yet Another Resource Negotiator,YARN),以使资源调度系统对FlinkSQL作业的配置及Flink所依赖的环境进行初始化,完成Flink SQL作业的无环境提交。
在一些实施例中,为了丰富Flink的功能,在资源调度系统对Flink SQL作业的配置及Flink所依赖的环境进行初始化的过程中,还可以同时加载外部jar包,以提供一些额外的功能。
在一些实施例中,为了提高Flink SQL作业运行的稳定性,还可以监控Flink SQL作业的运行状态,具体通过以下步骤实现:
B1、接收并记录资源调度系统返回的应用标识,其中,不同的所述应用标识对应不同的Flink SQL作业。
B2、基于返回的应用标识监控Flink SQL作业的运行状态。
在完成Flink SQL作业的无环境提交之后,可以接收资源调度系统返回的应用标识,例如应用ID。该应用ID有别于步骤A41中的接收参数ID,接收参数ID主要用于确定作业数据,是根据上线请求确定出来的;而此处的应用ID作业提交完成后,大数据集群为FlinkSQL分配的一个编号,以便于大数据集群对提交的Flink SQL作业进行管理。具体地,可以将该作业提交参数通过数据中台后端写入MYSQL数据库的flink_sql_job_submit表中,之后根据该表中的记录对Flink SQL作业的运行状态进行监控。
在一些实施例中,要对Flink SQL作业的运行状态进行有效的监控,上述B2具体包括:
B21、按照预设频率查询Flink SQL作业的实时运行状态。
利用数据中台后端按照预设的频率对Flink SQL作业的实时运行状态进行查询,例如每12小时查询一次,该实时运行状态根据应用标识从资源调度系统的接口获得。具体的查询频率可以根据具体需求进行设置,在此不作限定。
B22、将实时运行状态写入数据库的记录表中。
在查询到Flink SQL作业的实时运行状态之后,可以将该实时运行状态写入MySQL数据库中的记录表中,以便于后续进行检测。
B23、基于集成的监控平台检测记录表是否存在目标Flink SQL作业,目标FlinkSQL作业为期望运行状态与实时运行状态不匹配的Flink SQL作业。
参阅图3,图3示出了本申请实施例所提供的Flink SQL作业的监控系统结构示意图。将监控平台集成到Flink引擎的实时数据开发平台中,通过该集成的监控平台检测记录表。具体地,可以通过遍历查询的方式,检测该记录表中是否存在目标Flink SQL作业,即检测是否存在期望运行状态与实时运行状态不匹配的Flink SQL作业。更具体地,当某个Flink SQL作业的期望运行状态是运行中;而实时运行状态是未运行,即可将该Flink SQL作业确定为目标运行状态。也即,应当运行的Flink SQL作业实际未运行,则可认为该FlinkSQL作业为目标Flink SQL作业。
B24、若存在目标Flink SQL作业,则基于目标Flink SQL作业发送提示消息。
当检测到目标Flink SQL作业,可以根据该目标Flink SQL作业发送提示消息,以便于提高Flink SQL作业运行的稳定性。
在一些实施例中,为了便于检测目标Flink SQL作业,可以在将该实时运行状态写入MySQL数据库中的记录表的过程中,将目标Flink SQL作业所对应的实时运行状态记录为一个统一,但有别于记录表中其他实时运行状态的符号,例如记录为FALL。通过该方法监控平台能够更加高效的对记录表进行遍历查询,提高监控的时效性。
在Flink SQL作业提交之后,即可进入运行状态,即基于Flink引擎对实时的序列化数据进行处理。
在一些实施例中,为了提高Flink引擎对实时的系列化数据的处理效率,上述Flink SQL作业的提交方法还可以包括:
在基于Flink SQL作业对实时的序列化数据进行解析的过程中,若存在目标序列化数据,则丢弃目标序列化数据,目标序列化数据为解析失败的序列化数据。
具体地,可以设置fail On Missing Field等于false,如果遇到解析失败的序列化数据,则会产生异常消息,这时候通过异常捕获可以返回null标识,丢弃返回null标识对应的数据,并继续后续流程。
该步骤是对Kafka反序列化JSON数据方法的优化,通过重写了JSON反序列化的方法,当解析到非法的JSON时,可以避免因消费脏数据而导致作业失败,从而提高了作业的运行稳定性。
在一些实施例中,为了提高Hbase查询速度,且支持异步查询,上述Flink SQL作业的提交方法还可以包括:
在基于Flink SQL作业对实时数据进行查询时:根据预先获取查询指令查询预先构建的缓存库中是否存储有目标查询结果,缓存库预先存储有历史查询的查询结果,目标查询结果是历史查询的查询结果中与查询指令对应的查询结果。
若缓存库中存储有目标查询结果,则将目标查询结果显示到查询页面的指定区域内。
若缓存库中未存储目标查询结果,则根据查询指令执行异步查询,并将执行异步查询得到的结果显示到查询页面的指定区域内。
可选地,上述查询方法可以运用在分布式存储系统(HBase,Hadoop Database)中,通过异步查询加缓存优化的方式来提高提高分布式存储系统的并发查询能力。具体地,通过重写eval方法,使用Java缓存库Caffeine保存异步查询结果,在能够通过缓存获取到查询结果时直接返回,若不能通过缓存获取到查询结果,则进行异步查询,从而提高查询效率。
可选地,为了进一步提高查询效率,可以在根据查询指令执行异步查询后,根据得到的结果对缓存库进行更新。
在一些实施例中,为了改善搜索与数据分析引擎Elastic Search写入功能,提高该功能的兼容性,上述Flink SQL作业的提交方法还可以包括:
基于底层Elastic Search Sink源码,二次开发支持动态index写入,支持用户名密码配置。
创建索引请求时维护动态index信息;当Elastic Search集群配置了用户名、密码认证时,需要进行身份认证。
在一些实施例中,上述提交方法还包括:
将上线请求和/或作业提交程序上传至区块链中。
其中,为了保证数据的安全性和对用户的公正透明性,可以将上线请求和/或作业提交程序上传至区块链进行存证。用户随后即可通过各自的设备从区块链中下载获得上线请求和/或作业提交程序,以便查证这些数据是否被篡改。本实施例所指区块链是采用分布式数据存储、点对点传输、共识机制及加密算法等计算机技术的新型应用模式。区块链,本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
此外,本申请实施例还提供了一种Flink SQL作业的提交装置。
请参阅图4,图4是本申请实施例提供的一种Flink SQL作业的提交装置的结构框图。本实施例中该计算机设备包括的各单元用于执行图2对应的实施例中的各步骤。具体请参阅图2所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。参见图4,Flink SQL作业的提交装置40包括:
请求接收模块41,用于接收Flink SQL作业的上线请求;
第一调用模块42,用于调用待部署的大数据集群中的任务调度器;
任务启动模块43,用于根据上线请求触发任务调度器启动调度任务;
第二调用模块44,用于基于调度任务调用作业提交程序,以加载作业提交程序中所集成的安装包,其中,安装包为Flink所有依赖的安装包;
作业提交模块45,用于基于已加载的安装包,将Flink SQL作业提交至待部署的大数据集群中,以完成Flink SQL作业的无环境提交。Flink SQL作业提交程序作业提交程序Flink SQL作业Flink SQL作业提交程序Flink SQL作业提交程序Flink SQL作业
作为本申请一实施例,上述作业提交模块45可以包括:
第一确定单元,用于基于上线请求通过作业提交程序确定作业提交参数;
第二确定单元基于作业提交参数确定作业数据,并将作业数据发送至作业提交程序;
作业提交单元,用于将作业数据通过作业提交程序提交至大数据集群的资源调度系统,以使资源调度系统对Flink SQL作业的配置及Flink所依赖的环境进行初始化,完成Flink SQL作业的无环境提交。
作为本申请一实施例,上述提交模型40可以包括:
参数接收模块,用于接收并记录资源调度系统返回的应用标识,其中,不同的所述应用标识对应不同的Flink SQL作业;
状态监控模块,用于基于返回的应用标识监控Flink SQL作业的运行状态。
作为本申请一实施例,上述状态监控模块可以包括:
状态查询单元,用于按照预设频率查询Flink SQL作业的实时运行状态,实时运行状态根据应用标识从资源调度系统的接口获得;
状态记录单元,用于将实时运行状态写入数据库的记录表中;
目标检测单元,用于基于集成的监控平台检测记录表是否存在目标Flink SQL作业,目标Flink SQL作业为期望运行状态与实时运行状态不匹配的Flink SQL作业;
提示单元,用于若存在目标Flink SQL作业,则基于目标Flink SQL作业发送提示消息。
作为本申请一实施例,上述提交模型40可以包括:
数据解析模块,用于在基于Flink SQL作业对实时的序列化数据进行解析的过程中,若存在目标序列化数据,则丢弃目标序列化数据,目标序列化数据为解析失败的序列化数据。
作为本申请一实施例,上述提交模型40可以包括:
数据查询模块,用于在基于Flink SQL作业对实时数据进行查询时:
获取查询指令,根据所述查询指令查询预先构建的缓存库中是否存储有目标查询结果,所述缓存库存储有历史查询结果,所述目标查询结果是所述历史查询结果中与所述查询指令对应的查询结果;
若所述缓存库中存储有所述目标查询结果,则将所述目标查询结果显示到查询页面的指定区域内;
若所述缓存库中未存储所述目标查询结果,则根据所述查询指令执行异步查询,并将执行异步查询得到的结果显示到查询页面的指定区域内。
作为本申请一实施例,上述提交模型40可以包括:
数据上传模块,用于在完成Flink SQL作业提交之后,将上线请求和/或作业提交程序上传至区块链中。
应当理解的是,图4示出的Flink SQL作业的提交装置的结构框图中,各单元用于执行图2对应的实施例中的各步骤,而对于图2对应的实施例中的各步骤已在上述实施例中进行详细解释,具体请参阅图2以及图2所对应的实施例中的相关描述,此处不再赘述。
图5是本申请另一实施例提供的一种计算机设备的结构框图。如图5所示,该实施例的计算机设备50包括:处理器51、存储器52以及存储在上述存储器52中并可在上述处理器51上运行的计算机程序53,例如Flink SQL作业的提交方法的程序。处理器51执行上述计算机程序53时实现上述各个Flink SQL作业的提交方法各实施例中的步骤,例如图2所示的201至203。或者,所述处理器51执行所述计算机程序53时实现上述图4对应的实施例中各单元的功能,例如,图4所示的单元41至43的功能,具体请参阅图4对应的实施例中的相关描述,此处不赘述。
示例性的,所述计算机程序53可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器52中,并由所述处理器51执行,以完成本申请。所述一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序53在所述终端50中的执行过程。例如,所述计算机程序53可以被分割成数据获取模块和预测模块,各模块具体功能如上所述。
所述转台设备可包括,但不仅限于,处理器51、存储器52。本领域技术人员可以理解,图5仅仅是计算机设备50的示例,并不构成对计算机设备50的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述转台设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器51可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器52可以是所述计算机设备50的内部存储单元,例如计算机设备50的硬盘或内存。所述存储器52也可以是所述计算机设备50的外部存储设备,例如所述计算机设备50上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器52还可以既包括所述计算机设备50的内部存储单元也包括外部存储设备。所述存储器52用于存储所述计算机程序以及所述转台设备所需的其他程序和数据。所述存储器52还可以用于暂时地存储已经输出或者将要输出的数据。
可以理解的是,本申请实施例所提供的方法除了可以应用在计算机设备上,同样也可以应用在服务器上,例如云端服务器。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。示例性地,可以实现以下步骤:
接收Flink SQL作业的上线请求;
调用待部署的大数据集群中的任务调度器;
根据上线请求触发任务调度器启动调度任务;
基于调度任务调用作业提交程序,以加载作业提交程序中所集成的安装包,其中,安装包为Flink所有依赖的安装包;
基于已加载的安装包,将Flink SQL作业提交至待部署的大数据集群中,以完成Flink SQL作业的无环境提交。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。示例性地,可以实现以下步骤:
接收Flink SQL作业的上线请求;
调用待部署的大数据集群中的任务调度器;
根据上线请求触发任务调度器启动调度任务;
基于调度任务调用作业提交程序,以加载作业提交程序中所集成的安装包,其中,安装包为Flink所有依赖的安装包;
基于已加载的安装包,将Flink SQL作业提交至待部署的大数据集群中,以完成Flink SQL作业的无环境提交。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种Flink SQL作业的提交方法,其特征在于,所述提交方法包括:
接收所述Flink SQL作业的上线请求;
调用待部署的大数据集群中的任务调度器;
根据所述上线请求触发所述任务调度器启动调度任务;
基于所述调度任务调用作业提交程序,以加载所述作业提交程序中所集成的安装包,其中,所述安装包为Flink所有依赖的安装包;
基于已加载的所述安装包,将所述Flink SQL作业提交至待部署的大数据集群中,以完成Flink SQL作业的无环境提交。
2.根据权利要求1所述的提交方法,其特征在于,所述将所述Flink SQL作业通过所述作业提交程序提交至待部署的大数据集群中,以完成Flink SQL作业的无环境提交,包括:
基于所述上线请求通过所述作业提交程序确定作业提交参数;
基于所述作业提交参数确定作业数据,并将所述作业数据发送至所述作业提交程序;
将所述作业数据通过所述作业提交程序提交至所述大数据集群的资源调度系统,以使所述资源调度系统对Flink SQL作业的配置及Flink所依赖的环境进行初始化,完成FlinkSQL作业的无环境提交。
3.根据权利要求2所述的提交方法,其特征在于,在所述完成Flink SQL作业的无环境提交之后,还包括:
接收并记录所述资源调度系统返回的应用标识,其中,不同的所述应用标识对应不同的所述Flink SQL作业;
基于所述应用标识监控所述Flink SQL作业的运行状态。
4.根据权利要求3所述的提交方法,其特征在于,所述基于所述应用标识监控所述Flink SQL作业的运行状态,包括:
按照预设频率查询Flink SQL作业的实时运行状态,所述实时运行状态根据所述应用标识从所述资源调度系统的接口获得;
将所述实时运行状态写入数据库的记录表中;
基于集成的监控平台检测所述记录表是否存在目标Flink SQL作业,所述目标FlinkSQL作业为期望运行状态与实时运行状态不匹配的Flink SQL作业;
若存在所述目标Flink SQL作业,则基于所述目标Flink SQL作业发送提示消息。
5.根据权利要求1所述的提交方法,其特征在于,所述提交方法还包括:
在基于Flink SQL作业对实时的序列化数据进行解析的过程中,若存在目标序列化数据,则丢弃所述目标序列化数据,所述目标序列化数据为解析失败的序列化数据。
6.根据权利要求1所述的提交方法,其特征在于,所述提交方法还包括:
在基于Flink SQL作业对实时数据进行查询时:
获取查询指令,根据所述查询指令查询预先构建的缓存库中是否存储有目标查询结果,所述缓存库存储有历史查询结果,所述目标查询结果是所述历史查询结果中与所述查询指令对应的查询结果;
若所述缓存库中存储有所述目标查询结果,则将所述目标查询结果显示到查询页面的指定区域内;
若所述缓存库中未存储所述目标查询结果,则根据所述查询指令执行异步查询,并将执行异步查询得到的结果显示到查询页面的指定区域内。
7.根据权利要求1至6任一项所述的提交方法,其特征在于,在所述完成Flink SQL作业的无环境提交之后,所述提交方法还包括:
将所述上线请求和/或所述作业提交程序上传至区块链中。
8.一种Flink SQL作业的提交装置,其特征在于,所述提交装置包括:
请求接收模块,用于接收所述Flink SQL作业的上线请求;
第一调用模块,用于调用待部署的大数据集群中的任务调度器;
任务启动模块,用于根据所述上线请求触发所述任务调度器启动调度任务;
第二调用模块,用于基于所述调度任务调用作业提交程序,以加载所述作业提交程序中所集成的安装包,其中,所述安装包为Flink所有依赖的安装包;
基于已加载的所述安装包,将所述Flink SQL作业提交至待部署的大数据集群中,以完成Flink SQL作业的无环境提交。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110848824.4A CN113553098A (zh) | 2021-07-27 | 2021-07-27 | Flink SQL作业的提交方法、装置及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110848824.4A CN113553098A (zh) | 2021-07-27 | 2021-07-27 | Flink SQL作业的提交方法、装置及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113553098A true CN113553098A (zh) | 2021-10-26 |
Family
ID=78132893
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110848824.4A Pending CN113553098A (zh) | 2021-07-27 | 2021-07-27 | Flink SQL作业的提交方法、装置及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113553098A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115237435A (zh) * | 2022-08-09 | 2022-10-25 | 杭州玳数科技有限公司 | 一种将PyFlink任务部署到yarn集群的方法 |
-
2021
- 2021-07-27 CN CN202110848824.4A patent/CN113553098A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115237435A (zh) * | 2022-08-09 | 2022-10-25 | 杭州玳数科技有限公司 | 一种将PyFlink任务部署到yarn集群的方法 |
CN115237435B (zh) * | 2022-08-09 | 2023-02-14 | 杭州玳数科技有限公司 | 一种将PyFlink任务部署到yarn集群的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11036576B2 (en) | Automatically reconfiguring a performance test environment | |
JP4436036B2 (ja) | 情報処理装置、トレース処理方法、プログラム及び記録媒体 | |
US11334538B2 (en) | System and method for cardinality estimation feedback loops in query processing | |
US20220058104A1 (en) | System and method for database replication benchmark testing using a pipeline-based microservices model | |
CN106575244B (zh) | 确保云应用的高可用性的修补过程 | |
US11847502B2 (en) | Remotely managing execution of jobs in a cluster computing framework | |
US8973117B2 (en) | Propagating security identity information to components of a composite application | |
CN109408232B (zh) | 一种基于交易流程的组件化总线调用执行系统 | |
US11503109B2 (en) | Processing an operation with a plurality of processing steps | |
CN111930489B (zh) | 一种任务调度方法、装置、设备及存储介质 | |
Tan et al. | Hadoop framework: impact of data organization on performance | |
US10614218B2 (en) | Scan time reduction in application code security scanning | |
US11216343B1 (en) | System and method for accelerating processing in event-driven server-less computing | |
CN112015663A (zh) | 测试数据录制方法、装置、设备及介质 | |
JP2017539031A (ja) | テスト実行からのテスト検証の分離 | |
WO2020000716A1 (zh) | 大数据分析系统、服务器、数据处理方法、程序和存储介质 | |
CN113157411B (zh) | 一种基于Celery的可靠可配置任务系统及装置 | |
CN113553098A (zh) | Flink SQL作业的提交方法、装置及计算机设备 | |
US10521272B1 (en) | Testing in grid computing systems | |
JP2023044720A (ja) | クラッシュしたアプリケーションを修復するためのコンピュータ実装方法、コンピュータプログラム製品、およびリモートコンピュータサーバ(クラッシュしたプロセスのリモート修復) | |
CN109062920B (zh) | 一种用于数据挖掘系统的基于内存的数据快速碰撞子系统 | |
CN116263717A (zh) | 基于事件的订单业务处理方法及装置 | |
CN116720818B (zh) | 基于区块链的仓储处理方法、装置、计算机设备 | |
US9436523B1 (en) | Holistic non-invasive evaluation of an asynchronous distributed software process | |
CN114385206A (zh) | 资源文件的提交方法、装置、电子设备及存储介质 |
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 |