SQL语句的处理方法、装置、介质及电子设备制造方法及图纸

技术编号:31307717 阅读:13 留言:0更新日期:2021-12-12 21:29
本发明专利技术提供一种SQL语句的处理方法、装置、介质及电子设备。该方案中,在大数据处理过程中,通过在任务中的SQL语句中增加窗口偏移量以及周期性输出间隔,在对于SQL语句进行处理过程中,根据窗口偏移量确定数据处理的窗口的开始时间,根据周期性输出间隔确定周期输出结果的触发器,在数据进入窗口操作后,根据窗口的开始时间和触发器输出数据处理的中间结果,本方案支持调整窗口的开始时间,并能够通过周期性的输出中间结果,实时掌握数据的变化情况。况。况。

【技术实现步骤摘要】
SQL语句的处理方法、装置、介质及电子设备


[0001]本专利技术涉及大数据
,尤其涉及一种结构化查询语言(Structured Query Language,简称:SQL)语句的处理方法、装置、介质及电子设备。

技术介绍

[0002]近年来,随着大数据技术的发展,涌现了Storm、Spark、Flink等优秀的大数据计算引擎框架。其中Flink在大数据的地位变得越来越重要。在大数据领域,SQL同样是最具有易用性的,它是面向用户的应用程序接口(Application Programming Interface,简称:API)层,在传统的流式计算领域,比如Storm、Spark Streaming都会提供一些Function或者Datastream API,用户通过Java或Scala写业务逻辑,这种方式存在一些问题,比如具备一定门槛且调优较难,随着版本的不断更新,API也出现了很多不兼容的地方。Flink SQL是Flink实时计算为简化计算模型,降低用户使用实时计算门槛而设计的一套符合标准SQL语义的开发语言。目前Spark、Flink都在积极的转向SQL的实现,在SQL的流计算引擎中存在一个重要的概念就是窗口,上述两个大数据计算引擎都支持窗口的使用,比较常见的像滑动窗口、滚动窗口和会话窗口等。
[0003]然而,目前的技术方案还不能支持调整窗口的开始时间,并且无法实时掌握中间结果状态,无法实时掌握数据的变化情况。

技术实现思路

[0004]本专利技术实施例提供一种SQL语句的处理方法、装置、介质及电子设备,以解决现有技术中不能支持调整窗口的开始时间,并且无法实时掌握中间结果状态,无法实时掌握数据的变化情况的问题。
[0005]第一方面,本专利技术实施例提供一种SQL语句的处理方法,包括:
[0006]获取待处理的结构化查询语言SQL语句,所述SQL语句中包括窗口偏移量以及周期性输出间隔;
[0007]根据所述窗口偏移量确定数据处理的窗口的开始时间;
[0008]根据所述周期性输出间隔确定周期输出结果的触发器;
[0009]在数据进入窗口操作后,根据所述窗口的所述开始时间以及所述触发器,输出数据处理的中间结果。
[0010]在一种具体实施方式中,所述方法还包括:
[0011]在每次输出数据处理的中间结果的同时输出时间字段。
[0012]在一种具体实施方式中,所述方法还包括:
[0013]获取所述SQL语句所属数据处理任务中的时间属性,所述时间属性用于指示窗口时间字段类型为处理时间或者事件时间。
[0014]在一种具体实施方式中,所述时间属性用于指示窗口时间字段类型为处理时间,则所述在数据进入窗口操作后,根据所述时间窗口的所述开始时间以及所述触发器,输出
数据处理的中间结果,包括:
[0015]在数据进入窗口操作后,根据所述触发器和系统时间注册定时器,所述系统时间为所述数据进入窗口操作时的系统时间;
[0016]在所述系统时间后的第一个整数倍的所述周期性输出间隔时触发所述定时器;
[0017]在所述定时器时间达到后触发回调函数,输出数据处理的中间结果,并在所述周期性输出间隔之后再次触发所述定时器,重复本步骤直至对所述定时器的触发时间超过窗口的结束时间。
[0018]在一种具体实施方式中,所述时间属性用于指示窗口时间字段类型为事件时间,则所述在数据进入窗口操作后,根据所述时间窗口的所述开始时间以及所述周期性输出间隔,输出数据处理的中间结果,包括:
[0019]在数据进入窗口操作后,根据所述触发器和数据时间注册定时器,所述数据时间为数据中包括的时间;
[0020]在所述窗口后的所述周期性输出间隔后触发所述定时器;
[0021]在所述定时器时间达到后触发回调函数,输出数据处理的中间结果,并在所述周期性输出间隔之后再次触发所述定时器,重复本步骤直至对所述定时器的触发时间超过窗口的结束时间。
[0022]在一种具体实施方式中,所述SQL语句中还包括时间字段,窗口大小;
[0023]相应的,所述根据所述窗口偏移量确定数据处理的窗口的开始时间,包括:
[0024]根据所述时间字段和所述窗口偏移量确定数据处理的所述窗口的所述开始时间。
[0025]在一种具体实施方式中,所述方法还包括:
[0026]根据所述开始时间以及所述窗口大小,确定数据处理的所述窗口的结束时间。
[0027]在一种具体实施方式中,所述方法还包括:
[0028]接收WEB客户端发送的数据处理任务,所述数据处理任务包括所述SQL语句和所述时间属性。
[0029]第二方面,本专利技术实施例提供一种SQL语句的处理装置,包括:
[0030]获取模块,用于获取待处理的SQL语句,所述SQL语句中包括窗口偏移量以及周期性输出间隔;
[0031]处理模块,用于根据所述窗口偏移量确定数据处理的窗口的开始时间;
[0032]所述处理模块还用于根据所述周期性输出间隔确定周期输出结果的触发器;
[0033]输出模块,用于在数据进入窗口操作后,根据所述窗口的所述开始时间以及所述触发器,输出数据处理的中间结果。
[0034]第三方面,本专利技术实施例提供一种电子设备,包括:
[0035]处理器,交互接口;以及,
[0036]存储器,用于存储所述处理器的可执行指令;
[0037]其中,所述处理器配置为经由执行所述可执行指令来执行第一方面任一项所述的SQL语句的处理方法。
[0038]第四方面,本专利技术实施例提供一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面任一项所述的SQL语句的处理方法。
[0039]第五方面,本专利技术实施例提供一种计算机程序产品,包括计算机程序,所述计算机
程序被处理器执行时用于实现第一方面任一项所述的SQL语句的处理方法。
[0040]本专利技术实施例提供的SQL语句的处理方法、装置、介质及电子设备,在大数据处理过程中,通过在任务中的SQL语句中增加窗口偏移量以及周期性输出间隔,在对于SQL语句进行处理过程中,根据窗口偏移量确定数据处理的窗口的开始时间,根据周期性输出间隔确定周期输出结果的触发器,在数据进入窗口操作后,根据窗口的开始时间和触发器输出数据处理的中间结果,本方案支持调整窗口的开始时间,并能够通过周期性的输出中间结果,实时掌握数据的变化情况。
附图说明
[0041]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0042]图1为本专利技术提供的一种SQL语句的处理方法实施例一的流程示意图;
[0043]图2为本专利技术提供的一种SQL语本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种SQL语句的处理方法,其特征在于,包括:获取待处理的结构化查询语言SQL语句,所述SQL语句中包括窗口偏移量以及周期性输出间隔;根据所述窗口偏移量确定数据处理的窗口的开始时间;根据所述周期性输出间隔确定周期输出结果的触发器;在数据进入窗口操作后,根据所述窗口的所述开始时间以及所述触发器,输出数据处理的中间结果。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在每次输出数据处理的中间结果的同时输出时间字段。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:获取所述SQL语句所属数据处理任务中的时间属性,所述时间属性用于指示窗口时间字段类型为处理时间或者事件时间。4.根据权利要求3所述的方法,其特征在于,所述时间属性用于指示窗口时间字段类型为处理时间,则所述在数据进入窗口操作后,根据所述时间窗口的所述开始时间以及所述触发器,输出数据处理的中间结果,包括:在数据进入窗口操作后,根据所述触发器和系统时间注册定时器,所述系统时间为所述数据进入窗口操作时的系统时间;在所述系统时间后的第一个整数倍的所述周期性输出间隔时触发所述定时器;在所述定时器时间达到后触发回调函数,输出数据处理的中间结果,并在所述周期性输出间隔之后再次触发所述定时器,重复本步骤直至对所述定时器的触发时间超过窗口的结束时间。5.根据权利要求3所述的方法,其特征在于,所述时间属性用于指示窗口时间字段类型为事件时间,则所述在数据进入窗口操作后,根据所述时间窗口的所述开始时间以及所述周期性输出间隔,输出数据处理的中间结果,包括:在数据进入窗口操作后,根据所述触发器和数据时间注册定时器,所述数据时间为数据中包括的时间;在所述窗口后的所述周期性输出间隔后触发所述定时器;在所述定时器时间达到后...

【专利技术属性】
技术研发人员:何会远
申请(专利权)人:北京京东世纪贸易有限公司
类型:发明
国别省市:

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

1