CN113448734B - Spark SQL交互式场景下SQL中断***及方法 - Google Patents
Spark SQL交互式场景下SQL中断***及方法 Download PDFInfo
- Publication number
- CN113448734B CN113448734B CN202110799045.XA CN202110799045A CN113448734B CN 113448734 B CN113448734 B CN 113448734B CN 202110799045 A CN202110799045 A CN 202110799045A CN 113448734 B CN113448734 B CN 113448734B
- Authority
- CN
- China
- Prior art keywords
- sql
- task
- subtask
- interrupt
- state
- 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.)
- Active
Links
- 230000002452 interceptive effect Effects 0.000 title claims abstract description 38
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000004590 computer program Methods 0.000 claims description 16
- 239000000725 suspension Substances 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 235000019580 granularity Nutrition 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
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/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
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种Spark SQL交互式场景下SQL中断***及方法,可用于大数据领域,该***包括:指令执行模块,用于接收SQL任务中断请求;接收中断完成消息并发送至用户;任务管理模块,用于从SQL任务中断请求中获取SQL任务标识;查询SQL任务的状态;在SQL任务的状态为正在执行状态时,获取SQL任务下的所有SQL子任务标识;接收子任务中断完成消息,并向指令执行模块发送中断完成消息;子任务管理模块,用于接收SQL子任务标识;处理子任务;在所有SQL子任务处理完成后,向任务管理模块发送子任务中断完成消息。本发明可以实现在Spark SQL交互式场景下SQL中断。
Description
技术领域
本发明涉及大数据技术领域,尤其涉及一种Spark SQL交互式场景下SQL中断***及方法。
背景技术
在Spark SQL交互式分析场景下,提交到程序的SQL任务无法自由的被停止,运行的Sql任务持续占用服务器资源,导致新提交的任务无法分配到资源运行。因此,目前需要一种Spark SQL交互式场景下SQL中断方法。
发明内容
本发明实施例提出一种Spark SQL交互式场景下SQL中断***,用以实现在SparkSQL交互式场景下SQL中断,该***包括:
指令执行模块,用于接收用户发送的SQL任务中断请求并发送至任务管理模块;接收任务管理模块返回的中断完成消息并发送至用户;
任务管理模块,用于在接收到SQL任务中断请求后,从SQL任务中断请求中获取SQL任务标识;基于SQL任务标识查询SQL任务的状态;在SQL任务的状态为正在执行状态时,获取SQL任务下的所有SQL子任务标识并发送至子任务管理模块;接收子任务管理模块发送的子任务中断完成消息,并向指令执行模块发送中断完成消息;
子任务管理模块,用于接收SQL子任务标识;在SQL子任务存储于待执行任务池时,执行任务移除操作,所述待执行任务池中存储已提交但需等待前置条件完成的SQL子任务;在SQL子任务存储于激活任务队列时,执行任务中止操作,释放SQL子任务从资源线程池获得的资源,所述激活任务队列中存储正在执行的SQL子任务;在SQL子任务存储于已完成任务池时,执行任务回滚操作,所述已完成任务池中存储SQL任务下的已执行的SQL子任务;在所有SQL子任务处理完成后,向任务管理模块发送子任务中断完成消息。
本发明实施例提出一种Spark SQL交互式场景下SQL中断方法,用以实现在SparkSQL交互式场景下SQL中断,该方法包括:
接收用户发送的SQL任务中断请求;
从SQL任务中断请求中获取SQL任务标识;
基于SQL任务标识查询SQL任务的状态;
在SQL任务的状态为正在执行状态时,获取SQL任务下的所有SQL子任务标识;
在SQL子任务存储于待执行任务池时,执行任务移除操作,所述待执行任务池中存储已提交但需等待前置条件完成的SQL子任务;在SQL子任务存储于激活任务队列时,执行任务中止操作,释放SQL子任务从资源线程池获得的资源,所述激活任务队列中存储正在执行的SQL子任务;在SQL子任务存储于已完成任务池时,执行任务回滚操作,所述已完成任务池中存储SQL任务下的已执行的SQL子任务;
在所有SQL子任务处理完成后,向用户发送中断完成消息。
本发明实施例还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述SparkSQL交互式场景下SQL中断方法。
本发明实施例还提出了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述Spark SQL交互式场景下SQL中断方法的计算机程序。
在本发明实施例中,指令执行模块,用于接收用户发送的SQL任务中断请求并发送至任务管理模块;接收任务管理模块返回的中断完成消息并发送至用户;任务管理模块,用于在接收到SQL任务中断请求后,从SQL任务中断请求中获取SQL任务标识;基于SQL任务标识查询SQL任务的状态;在SQL任务的状态为正在执行状态时,获取SQL任务下的所有SQL子任务标识并发送至子任务管理模块;接收子任务管理模块发送的子任务中断完成消息,并向指令执行模块发送中断完成消息;子任务管理模块,用于接收SQL子任务标识;在SQL子任务存储于待执行任务池时,执行任务移除操作,所述待执行任务池中存储已提交但需等待前置条件完成的SQL子任务;在SQL子任务存储于激活任务队列时,执行任务中止操作,释放SQL子任务从资源线程池获得的资源,所述激活任务队列中存储正在执行的SQL子任务;在SQL子任务存储于已完成任务池时,执行任务回滚操作,所述已完成任务池中存储SQL任务下的已执行的SQL子任务;在所有SQL子任务处理完成后,向任务管理模块发送子任务中断完成消息。在上述过程中,可以有效地实现不同粒度的SQL任务的按需中断,从而释放服务器资源。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中Spark SQL交互式场景下SQL中断***的示意图;
图2为本发明实施例中Spark SQL交互式场景下SQL中断的详细流程图;
图3为本发明实施例中Spark SQL交互式场景下SQL中断方法的流程图;
图4为本发明实施例中Spark SQL交互式分析场景下的SQL状态查询的流程图;
图5为本发明实施例中计算机设备的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
在本说明书的描述中,所使用的“包含”、“包括”、“具有”、“含有”等,均为开放性的用语,即意指包含但不限于。参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本申请的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
图1为本发明实施例中Spark SQL交互式场景下SQL中断***的流程图,如图1所示,该***包括:
指令执行模块101,用于接收用户发送的SQL任务中断请求并发送至任务管理模块;接收任务管理模块返回的中断完成消息并发送至用户;
任务管理模块102,用于在接收到SQL任务中断请求后,从SQL任务中断请求中获取SQL任务标识;基于SQL任务标识查询SQL任务的状态;在SQL任务的状态为正在执行状态时,获取SQL任务下的所有SQL子任务标识并发送至子任务管理模块;接收子任务管理模块发送的子任务中断完成消息,并向指令执行模块发送中断完成消息;
子任务管理模块103,用于接收SQL子任务标识;在SQL子任务存储于待执行任务池时,执行任务移除操作,所述待执行任务池中存储已提交但需等待前置条件完成的SQL子任务;在SQL子任务存储于激活任务队列时,执行任务中止操作,释放SQL子任务从资源线程池获得的资源,所述激活任务队列中存储正在执行的SQL子任务;在SQL子任务存储于已完成任务池时,执行任务回滚操作,所述已完成任务池中存储该SQL任务下的已执行的SQL子任务;在所有SQL子任务处理完成后,向任务管理模块发送子任务中断完成消息。
在本发明实施例中,可以有效地实现不同粒度的SQL任务的按需中断,从而释放服务器资源。
具体实施时,指令执行模块主要与用户交互,任务管理模块主要处理SQL任务粒度的事务;子任务管理模块主要处理SQL子任务粒度的事务。
例如,job为一个SQL任务,task1.1、task1.2、task1.3均为job1的SQL子任务,此时task1.1已执行完成,task1.2正在执行,task1.3等待task1.2执行完成后才能执行,那么task1.3存储在待执行任务池(taskPool),task1.2存储在激活任务队列(activeTaskQueue)中,task1.1存储在已完成任务池(finishedTaskPool)中。
在一实施例中,任务管理模块具体用于:
根据所述SQL任务标识从缓存服务器中获取SQL任务下的所有SQL子任务标识,所述缓存服务器中存储SQL任务和SQL子任务的关系,以及SQL子任务之间的关系。
任务管理模块还用于:在接收到子任务中断完成消息后,从缓存服务器中移除SQL任务。
在一实施例中,任务管理模块还用于:在SQL任务的状态为已完成状态时,向指令执行模块发送SQL任务已完成消息;在SQL任务的状态为未执行状态时,获取SQL任务下的所有SQL子任务标识并发送至子任务管理模块;
指令执行模块还用于:接收SQL任务已完成消息并发送至用户。
在一实施例中,指令执行模块还用于:接收用户发送的SQL任务查询请求并发送至任务管理器;接收任务管理器发送的SQL任务的状态并发送至用户;
任务管理器还用于:在接收到SQL任务查询请求后,从SQL任务查询请求中获取SQL任务标识;基于SQL任务标识查询SQL任务的状态;向指令执行模块发送SQL任务的状态。
基于上述实施例,本发明提出如下一个实施例来说明Spark SQL交互式场景下SQL中断的详细流程,图2为本发明实施例中Spark SQL交互式场景下SQL中断的详细流程图,如图2所示,包括:
步骤201,指令执行模块接收用户发送的SQL任务中断请求;
步骤202,指令执行模块将SQL任务中断请求发送至任务管理模块;
步骤203,任务管理模块从SQL任务中断请求中获取SQL任务标识;
步骤204,任务管理模块基于SQL任务标识查询SQL任务的状态;
步骤205,任务管理模块在SQL任务的状态为正在执行状态时,获取SQL任务下的所有SQL子任务标识;转至步骤206,步骤212和步骤214;
步骤206,任务管理模块将SQL任务下的所有子任务标识发送至子任务管理模块;
步骤207,子任务管理模块在SQL子任务存储于待执行任务池时,执行任务移除操作;在SQL子任务存储于激活任务队列时,执行任务中止操作,释放SQL子任务从资源线程池获得的资源;在SQL子任务存储于已完成任务池时,执行任务回滚操作;
步骤208,子任务管理模块向任务管理模块发送子任务中断完成消息;
步骤209,任务管理模块从缓存服务器中移除SQL任务;
步骤210,任务管理模块向指令执行模块发送中断完成消息;
步骤211,指令执行模块向用户发送中断完成消息;
步骤212,任务管理模块在SQL任务的状态为已完成状态时,向指令执行模块发送SQL任务已完成消息;
步骤213,指令执行模块将SQL任务已完成消息发送至用户;
步骤214,任务管理模块在SQL任务的状态为未执行状态时,获取SQL任务下的所有SQL子任务标识;
步骤215,任务管理模块将SQL任务下的所有SQL子任务标识发送至子任务管理模块,转至步骤207。
当然,可以理解的是,上述详细流程还可以有其他变化例,相关变化例均应落入本发明的保护范围。
综上所述,在本发明实施例提出的***中,指令执行模块,用于接收用户发送的SQL任务中断请求并发送至任务管理模块;接收任务管理模块返回的中断完成消息并发送至用户;任务管理模块,用于在接收到SQL任务中断请求后,从SQL任务中断请求中获取SQL任务标识;基于SQL任务标识查询SQL任务的状态;在SQL任务的状态为正在执行状态时,获取SQL任务下的所有SQL子任务标识并发送至子任务管理模块;接收子任务管理模块发送的子任务中断完成消息,并向指令执行模块发送中断完成消息;子任务管理模块,用于接收SQL子任务标识;在SQL子任务存储于待执行任务池时,执行任务移除操作,所述待执行任务池中存储已提交但需等待前置条件完成的SQL子任务;在SQL子任务存储于激活任务队列时,执行任务中止操作,释放SQL子任务从资源线程池获得的资源,所述激活任务队列中存储正在执行的SQL子任务;在SQL子任务存储于已完成任务池时,执行任务回滚操作,所述已完成任务池中存储SQL任务下的已执行的SQL子任务;在所有SQL子任务处理完成后,向任务管理模块发送子任务中断完成消息。在上述过程中,可以有效地实现不同粒度的SQL任务的按需中断,从而释放服务器资源。
本发明实施例还提出一种Spark SQL交互式场景下SQL中断方法,其原理与SparkSQL交互式场景下SQL中断***类似,这里不再赘述。
图3为本发明实施例中Spark SQL交互式场景下SQL中断方法的流程图,如图3所示,该方法包括:
步骤301,接收用户发送的SQL任务中断请求;
步骤302,从SQL任务中断请求中获取SQL任务标识;
步骤303,基于SQL任务标识查询SQL任务的状态;
步骤304,在SQL任务的状态为正在执行状态时,获取SQL任务下的所有SQL子任务标识;
步骤305,在SQL子任务存储于待执行任务池时,执行任务移除操作,所述待执行任务池中存储已提交但需等待前置条件完成的SQL子任务;在SQL子任务存储于激活任务队列时,执行任务中止操作,释放SQL子任务从资源线程池获得的资源,所述激活任务队列中存储正在执行的SQL子任务;在SQL子任务存储于已完成任务池时,执行任务回滚操作,所述已完成任务池中存储SQL任务下的已执行的SQL子任务;
步骤306,在所有SQL子任务处理完成后,向用户发送中断完成消息。
在一实施例中,获取SQL任务下的所有SQL子任务标识,包括:
根据所述SQL任务标识从缓存服务器中获取SQL任务下的所有SQL子任务标识,所述缓存服务器中存储SQL任务和SQL子任务的关系,以及SQL子任务之间的关系。
在一实施例中,所述方法还包括:
在所有SQL子任务处理完成后,从缓存服务器中移除SQL任务。
在一实施例中,所述方法还包括:
在SQL任务的状态为已完成状态时,向用户发送SQL任务已完成消息;
在SQL任务的状态为未执行状态时,获取SQL任务下的所有SQL子任务标识,对存储于待执行任务池的所述所有SQL子任务,执行任务移除操作,向用户发送中断完成消息。
图4为本发明实施例中Spark SQL交互式分析场景下的SQL状态查询的流程图,如图4所示,包括:
步骤401,接收用户发送的SQL任务查询请求;
步骤402,从SQL任务查询请求中获取SQL任务标识;
步骤403,基于SQL任务标识查询SQL任务的状态;
步骤404,向用户发送SQL任务的状态。
综上所述,在本发明实施例提出的方法中,接收用户发送的SQL任务中断请求;从SQL任务中断请求中获取SQL任务标识;基于SQL任务标识查询SQL任务的状态;在SQL任务的状态为正在执行状态时,获取SQL任务下的所有SQL子任务标识;在SQL子任务存储于待执行任务池时,执行任务移除操作,所述待执行任务池中存储已提交但需等待前置条件完成的SQL子任务;在SQL子任务存储于激活任务队列时,执行任务中止操作,释放SQL子任务从资源线程池获得的资源,所述激活任务队列中存储正在执行的SQL子任务;在SQL子任务存储于已完成任务池时,执行任务回滚操作,所述已完成任务池中存储SQL任务下的已执行的SQL子任务;在所有SQL子任务处理完成后,向用户发送中断完成消息。在上述过程中,可以有效地实现不同粒度的SQL任务的按需中断,从而释放服务器资源。
本申请的实施例还提供一种计算机设备,图5为本发明实施例中计算机设备的示意图,该计算机设备能够实现上述实施例中的Spark SQL交互式场景下SQL中断方法中全部步骤,所述计算机设备具体包括如下内容:
处理器(processor)501、存储器(memory)502、通信接口(CommunicationsInterface)503和通信总线504;
其中,所述处理器501、存储器502、通信接口503通过所述通信总线504完成相互间的通信;所述通信接口503用于实现服务器端设备、检测设备以及用户端设备等相关设备之间的信息传输;
所述处理器501用于调用所述存储器502中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的Spark SQL交互式场景下SQL中断方法中的全部步骤。
本申请的实施例还提供一种计算机可读存储介质,能够实现上述实施例中的Spark SQL交互式场景下SQL中断方法中全部步骤,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的Spark SQL交互式场景下SQL中断方法的全部步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种Spark SQL交互式场景下SQL中断***,其特征在于,包括:
指令执行模块,用于接收用户发送的SQL任务中断请求并发送至任务管理模块;接收任务管理模块返回的中断完成消息并发送至用户;
任务管理模块,用于在接收到SQL任务中断请求后,从SQL任务中断请求中获取SQL任务标识;基于SQL任务标识查询SQL任务的状态;在SQL任务的状态为正在执行状态时,获取SQL任务下的所有SQL子任务标识并发送至子任务管理模块;接收子任务管理模块发送的子任务中断完成消息,并向指令执行模块发送中断完成消息;
子任务管理模块,用于接收SQL子任务标识;在SQL子任务存储于待执行任务池时,执行任务移除操作,所述待执行任务池中存储已提交但需等待前置条件完成的SQL子任务;在SQL子任务存储于激活任务队列时,执行任务中止操作,释放SQL子任务从资源线程池获得的资源,所述激活任务队列中存储正在执行的SQL子任务;在SQL子任务存储于已完成任务池时,执行任务回滚操作,所述已完成任务池中存储SQL任务下的已执行的SQL子任务;在所有SQL子任务处理完成后,向任务管理模块发送子任务中断完成消息。
2.如权利要求1所述的Spark SQL交互式场景下SQL中断***,其特征在于,任务管理模块具体用于:
根据所述SQL任务标识从缓存服务器中获取SQL任务下的所有SQL子任务标识,所述缓存服务器中存储SQL任务和SQL子任务的关系,以及SQL子任务之间的关系。
3.如权利要求2所述的Spark SQL交互式场景下SQL中断***,其特征在于,任务管理模块还用于:在接收到子任务中断完成消息后,从缓存服务器中移除SQL任务。
4.如权利要求1所述的Spark SQL交互式场景下SQL中断***,其特征在于,任务管理模块还用于:在SQL任务的状态为已完成状态时,向指令执行模块发送SQL任务已完成消息;在SQL任务的状态为未执行状态时,获取SQL任务下的所有SQL子任务标识并发送至子任务管理模块;
指令执行模块还用于:接收SQL任务已完成消息并发送至用户。
5.如权利要求1所述的Spark SQL交互式场景下SQL中断***,其特征在于,指令执行模块还用于:接收用户发送的SQL任务查询请求并发送至任务管理器;接收任务管理器发送的SQL任务的状态并发送至用户;
任务管理器还用于:在接收到SQL任务查询请求后,从SQL任务查询请求中获取SQL任务标识;基于SQL任务标识查询SQL任务的状态;向指令执行模块发送SQL任务的状态。
6.一种Spark SQL交互式场景下SQL中断方法,其特征在于,包括:
接收用户发送的SQL任务中断请求;
从SQL任务中断请求中获取SQL任务标识;
基于SQL任务标识查询SQL任务的状态;
在SQL任务的状态为正在执行状态时,获取SQL任务下的所有SQL子任务标识;
在SQL子任务存储于待执行任务池时,执行任务移除操作,所述待执行任务池中存储已提交但需等待前置条件完成的SQL子任务;在SQL子任务存储于激活任务队列时,执行任务中止操作,释放SQL子任务从资源线程池获得的资源,所述激活任务队列中存储正在执行的SQL子任务;在SQL子任务存储于已完成任务池时,执行任务回滚操作,所述已完成任务池中存储SQL任务下的已执行的SQL子任务;
在所有SQL子任务处理完成后,向用户发送中断完成消息。
7.如权利要求6所述的Spark SQL交互式场景下SQL中断方法,其特征在于,获取SQL任务下的所有SQL子任务标识,包括:
根据所述SQL任务标识从缓存服务器中获取SQL任务下的所有SQL子任务标识,所述缓存服务器中存储SQL任务和SQL子任务的关系,以及SQL子任务之间的关系。
8.如权利要求7所述的Spark SQL交互式场景下SQL中断方法,其特征在于,还包括:
在所有SQL子任务处理完成后,从缓存服务器中移除SQL任务。
9.如权利要求6所述的Spark SQL交互式场景下SQL中断方法,其特征在于,还包括:
在SQL任务的状态为已完成状态时,向用户发送SQL任务已完成消息;
在SQL任务的状态为未执行状态时,获取SQL任务下的所有SQL子任务标识,对存储于待执行任务池的所述所有SQL子任务,执行任务移除操作,向用户发送中断完成消息。
10.如权利要求6所述的Spark SQL交互式场景下SQL中断方法,其特征在于,还用于:
接收用户发送的SQL任务查询请求;
从SQL任务查询请求中获取SQL任务标识;
基于SQL任务标识查询SQL任务的状态;
向用户发送SQL任务的状态。
11.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求6至10任一项所述方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求6至10任一项所述方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110799045.XA CN113448734B (zh) | 2021-07-15 | 2021-07-15 | Spark SQL交互式场景下SQL中断***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110799045.XA CN113448734B (zh) | 2021-07-15 | 2021-07-15 | Spark SQL交互式场景下SQL中断***及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113448734A CN113448734A (zh) | 2021-09-28 |
CN113448734B true CN113448734B (zh) | 2024-02-23 |
Family
ID=77816349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110799045.XA Active CN113448734B (zh) | 2021-07-15 | 2021-07-15 | Spark SQL交互式场景下SQL中断***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113448734B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105989137A (zh) * | 2015-02-27 | 2016-10-05 | ***通信集团河北有限公司 | 一种结构化查询语言性能优化方法及*** |
WO2018103318A1 (zh) * | 2016-12-06 | 2018-06-14 | 上海壹账通金融科技有限公司 | 分布式事务处理方法和*** |
CN109189580A (zh) * | 2018-09-17 | 2019-01-11 | 武汉虹旭信息技术有限责任公司 | 一种基于多核平台的多任务开发模型及其方法 |
CN109558237A (zh) * | 2017-09-27 | 2019-04-02 | 北京国双科技有限公司 | 一种任务状态管理方法及装置 |
CN111309372A (zh) * | 2020-01-15 | 2020-06-19 | 中国平安财产保险股份有限公司 | 定时任务执行方法、装置、计算机设备和存储介质 |
CN112486912A (zh) * | 2020-12-03 | 2021-03-12 | 北京普睿德利科技有限公司 | 一种文件转换***、方法、电子设备及存储介质 |
-
2021
- 2021-07-15 CN CN202110799045.XA patent/CN113448734B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105989137A (zh) * | 2015-02-27 | 2016-10-05 | ***通信集团河北有限公司 | 一种结构化查询语言性能优化方法及*** |
WO2018103318A1 (zh) * | 2016-12-06 | 2018-06-14 | 上海壹账通金融科技有限公司 | 分布式事务处理方法和*** |
CN109558237A (zh) * | 2017-09-27 | 2019-04-02 | 北京国双科技有限公司 | 一种任务状态管理方法及装置 |
CN109189580A (zh) * | 2018-09-17 | 2019-01-11 | 武汉虹旭信息技术有限责任公司 | 一种基于多核平台的多任务开发模型及其方法 |
CN111309372A (zh) * | 2020-01-15 | 2020-06-19 | 中国平安财产保险股份有限公司 | 定时任务执行方法、装置、计算机设备和存储介质 |
CN112486912A (zh) * | 2020-12-03 | 2021-03-12 | 北京普睿德利科技有限公司 | 一种文件转换***、方法、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113448734A (zh) | 2021-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107729139B (zh) | 一种并发获取资源的方法和装置 | |
EP3567829B1 (en) | Resource management method and apparatus | |
CN112035238B (zh) | 任务调度处理方法、装置、集群***及可读存储介质 | |
WO2017193737A1 (zh) | 一种软件测试方法及*** | |
CN109117252B (zh) | 基于容器的任务处理的方法、***及容器集群管理*** | |
CN111026541B (zh) | 渲染资源调度方法、装置、设备及存储介质 | |
CN103365718A (zh) | 一种线程调度方法、线程调度装置及多核处理器*** | |
CN111897633A (zh) | 一种任务处理的方法和装置 | |
CN108762905B (zh) | 一种多任务事件的处理方法和装置 | |
US8806497B2 (en) | System and method for altering the work definitions in an iterative parallel opportunistic work stealing scheduler | |
WO2015131542A1 (zh) | 数据处理方法、装置和*** | |
WO2022257247A1 (zh) | 数据处理方法、装置及计算机可读存储介质 | |
CN111104188A (zh) | 漏洞扫描器的调度方法及装置 | |
CN110659131A (zh) | 任务处理方法、电子装置、计算机设备及存储介质 | |
WO2019000790A1 (zh) | 一种以同步方式进行远程过程调用的方法及装置 | |
CN110633145B (zh) | 一种分布式***内实时通讯方法、装置及分布式*** | |
CN113626173B (zh) | 调度方法、装置及存储介质 | |
CN113051049B (zh) | 任务调度***、方法、电子设备及可读存储介质 | |
CN104702534A (zh) | 一种实现多进程共享端口的数据处理的方法及装置 | |
CN113448734B (zh) | Spark SQL交互式场景下SQL中断***及方法 | |
CN113010280A (zh) | 分布式任务的处理方法、***、装置、设备和介质 | |
CN112395062A (zh) | 任务处理方法、装置、设备及计算机可读存储介质 | |
JP7122299B2 (ja) | 処理タスクを実行するための方法、装置、デバイス、および記憶媒体 | |
CN111427634A (zh) | 一种原子服务调度的方法及装置 | |
CN113377360B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |