1.本发明涉及数据处理
技术领域:
:,具体而言,涉及一种数据查询方法、装置、客户端设备及存储介质。
背景技术:
::2.随着互联网技术的快速发展,各种各样的数据也越来越多,在当前大数据的场景之下,对数据查询已经成为非常常见的需求,对于数据的查询也成为了研究的热点。3.相关技术中,数据可以分为两部分存储,一部分是离线数据表,另一部分是实时数据表;在查询一些数据时,需要分别从离线数据表和实时数据表中去查,查完之后人工进行数据聚合操作,得到查询后的数据。4.但是,相关技术中,需要人工进行数据聚合操作,不便于进行数据查询,降低了用户体验。技术实现要素:5.本发明的目的在于,针对上述现有技术中的不足,提供一种数据查询方法、装置、客户端设备及存储介质,以便解决相关技术中需要人工进行数据聚合操作,不便于进行数据查询,降低了用户体验的问题。6.为实现上述目的,本发明实施例采用的技术方案如下:7.第一方面,本发明实施例提供了一种数据查询方法,所述方法包括:8.获取输入的针对目标业务的第一数据查询指令,对所述第一数据查询指令进行更改,得到第二数据查询指令;9.其中,所述第一数据查询指令用于指示从所述目标业务的离线数据表或者实时数据表中查询数据,所述第二数据查询指令用于指示从所述目标业务的离线数据表以及实时数据表中查询数据;10.执行所述第二数据查询指令,输出与所述目标业务对应的数据查询结果,所述数据查询结果包括离线数据和实时数据。11.可选的,所述若所述数据查询指令为第一数据查询指令,对所述第一数据查询指令进行更改,得到第二数据查询指令,包括:12.对所述第一数据查询指令进行更改,得到更改后的第一数据查询指令;13.根据所述第一数据查询指令和所述更改后的第一数据查询指令,得到所述第二数据查询指令。14.可选的,所述对所述第一数据查询指令进行更改,得到更改后的第一数据查询指令,包括:15.若所述第一数据查询指令指示从所述目标业务的实时数据表查询数据,则将所述第一数据查询指令中的实时类表信息修改为离线类表信息,以得到指示从所述目标业务的离线数据表中查询数据的数据查询指令;16.若所述第一数据查询指令指示从所述目标业务的离线数据表查询数据,则将所述第一数据查询指令中的离线类表信息修改为实时类表信息,以得到指示从所述目标业务的实时数据表中查询数据的数据查询指令。17.可选的,所述根据所述第一数据查询指令和所述更改后的第一数据查询指令,得到所述第二数据查询指令,包括:18.获取所述第一数据查询指令和所述更改后的第一数据查询指令中所包括的离线类表信息;19.基于所述离线类表信息确定所述目标业务的至少1个离线表分区;20.基于所述离线表分区确定所述目标业务对应的最大日期分区;21.根据所述最大日期分区、所述第一数据查询指令、所述更改后的第一数据查询指令,拼装得到所述第二数据查询指令。22.可选的,所述基于所述离线表分区确定所述目标业务对应的最大日期分区,包括:23.从所述至少1个离线表分区中,确定距离当前日期最近的日期的分区为最大日期分区。24.可选的,所述根据所述最大日期分区、所述第一数据查询指令和所述更改后的第一数据查询指令,拼装得到所述第二数据查询指令,包括:25.根据所述最大日期分区、所述第一数据查询指令、所述更改后的第一数据查询指令以及预设查询条件进行拼装,得到子查询指令;26.根据所述第一数据查询指令以及所述子查询指令,得到所述第二数据查询指令。27.可选的,在所述对所述第一数据查询指令进行更改,得到第二数据查询指令之前,所述方法还包括:28.判断所述第一数据查询指令中是否包含第一预设标识;29.若所述第一数据查询指令中包含所述第一预设标识,则执行对所述第一数据查询指令进行更改,得到第二数据查询指令的步骤;30.其中,所述第一预设标识用于指示对应的数据查询指令为从所述目标业务的离线数据表以及实时数据表中查询数据的指令。31.可选的,所述方法还包括:32.若所述第一数据查询指令中不包含所述第一预设标识,则根据所述第一数据查询指令从所述目标业务的离线数据表或者实时数据表中查询数据;33.或者,若所述第一数据查询指令中包含所述第二预设标识,则根据所述第一数据查询从所述目标业务的离线数据表或者实时数据表中查询数据;34.其中,所述第二预设标识用于指示对应的数据查询指令为从所述目标业务的离线数据表或者实时数据表中查询数据的指令。35.第二方面,本发明实施例还提供了一种数据查询装置,所述装置包括:36.更改模块,用于获取输入的针对目标业务的第一数据查询指令,对所述第一数据查询指令进行更改,得到第二数据查询指令;37.其中,所述第一数据查询指令用于指示从所述目标业务的离线数据表或者实时数据表中查询数据,所述第二数据查询指令用于指示从所述目标业务的离线数据表以及实时数据表中查询数据;38.执行模块,用于执行所述第二数据查询指令,输出与所述目标业务对应的数据查询结果,所述数据查询结果包括离线数据和实时数据。39.可选的,所述更改模块,具体用于对所述第一数据查询指令进行更改,得到更改后的第一数据查询指令;根据所述第一数据查询指令和所述更改后的第一数据查询指令,得到所述第二数据查询指令。40.可选的,所述更改模块,具体用于若所述第一数据查询指令指示从所述目标业务的实时数据表查询数据,则将所述第一数据查询指令中的实时类表信息修改为离线类表信息,以得到指示从所述目标业务的离线数据表中查询数据的数据查询指令;若所述第一数据查询指令指示从所述目标业务的离线数据表查询数据,则将所述第一数据查询指令中的离线类表信息修改为实时类表信息,以得到指示从所述目标业务的实时数据表中查询数据的数据查询指令。41.可选的,所述更改模块,具体用于获取所述第一数据查询指令和所述更改后的第一数据查询指令中所包括的离线类表信息;基于所述离线类表信息确定所述目标业务的至少1个离线表分区;基于所述离线表分区确定所述目标业务对应的最大日期分区;根据所述最大日期分区、所述第一数据查询指令、所述更改后的第一数据查询指令,拼装得到所述第二数据查询指令。42.可选的,所述更改模块,具体用于从所述至少1个离线表分区中,确定距离当前日期最近的日期的分区为最大日期分区。43.可选的,所述更改模块,具体用于根据所述最大日期分区、所述第一数据查询指令、所述更改后的第一数据查询指令以及预设查询条件进行拼装,得到子查询指令;根据所述第一数据查询指令以及所述子查询指令,得到所述第二数据查询指令。44.可选的,所述装置还包括:45.判断模块,用于判断所述第一数据查询指令中是否包含第一预设标识;若所述第一数据查询指令中包含所述第一预设标识,则执行对所述第一数据查询指令进行更改,得到第二数据查询指令的步骤;其中,所述第一预设标识用于指示对应的数据查询指令为从所述目标业务的离线数据表以及实时数据表中查询数据的指令。46.可选的,所述装置还包括:47.查询模块,用于若所述第一数据查询指令中不包含所述第一预设标识,则根据所述第一数据查询指令从所述目标业务的离线数据表或者实时数据表中查询数据;或者,若所述第一数据查询指令中包含所述第二预设标识,则根据所述第一数据查询从所述目标业务的离线数据表或者实时数据表中查询数据;其中,所述第二预设标识用于指示对应的数据查询指令为从所述目标业务的离线数据表或者实时数据表中查询数据的指令。48.第三方面,本发明实施例还提供了一种客户端设备,包括:存储器和处理器,所述存储器存储有所述处理器可执行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面任一项所述的数据查询方法。49.第四方面,本发明实施例还提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被读取并执行时,实现上述第一方面任一项所述的数据查询方法。50.本发明的有益效果是:本发明实施例提供一种数据查询方法,包括:获取输入的针对目标业务的第一数据查询指,对第一数据查询指令进行更改,得到第二数据查询指令;其中,第一数据查询指令用于指示从目标业务的离线数据表或者实时数据表中查询数据,第二数据查询指令用于指示从目标业务的离线数据表以及实时数据表中查询数据;执行所述第二数据查询指令,输出与所述目标业务对应的数据查询结果,所述数据查询结果包括离线数据和实时数据。对第一数据查询指令进行更改,得到的第二数据查询指令,基于第二数据查询指令可以之间从离线数据表以及实时数据表中查询数据,查询到的数据为两个表中的数据,无需人工进行数据的聚合操作,提高了数据查询的便捷性,提高了用户体验。附图说明51.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。52.图1为本发明实施例提供的一种数据查询方法的流程示意图;53.图2为本发明实施例提供的一种数据查询方法的流程示意图;54.图3为本发明实施例提供的一种数据查询方法的流程示意图;55.图4为本发明实施例提供的一种数据查询方法的流程示意图;56.图5为本发明实施例提供的一种数据查询方法的流程示意图;57.图6为本发明实施例提供的一种数据查询装置的结构示意图;58.图7为本发明实施例提供的一种客户端设备的结构示意图。具体实施方式59.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。60.因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。61.在本技术的描述中,需要说明的是,若出现术语“上”、“下”、等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该申请产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术的限制。62.此外,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。63.需要说明的是,在不冲突的情况下,本技术的实施例中的特征可以相互结合。64.随着互联网技术的快速发展,各种各样的数据也越来越多,在当前大数据的场景之下,对数据查询已经成为非常常见的需求,对于数据的查询也成为了研究的热点。65.相关技术中,数据可以分为两部分存储,一部分是离线数据表,另一部分是实时数据表;在查询一些数据时,需要分别从离线数据表和实时数据表中去查,查完之后人工进行数据聚合操作,得到查询后的数据。但是,相关技术中,需要人工进行数据聚合操作,不便于进行数据查询,降低了用户体验。66.针对相关技术中所存在的上述技术问题,本技术实施例提供一种数据查询方法,输入的数据查询指令为第一数据查询指令时,用于从目标业务的离线数据表或实时数据表中查询数据;对第一数据查询指令进行更改,得到的第二数据查询指令,基于第二数据查询指令可以之间从离线数据表以及实时数据表中查询数据,查询到的数据为两个表中的数据,无需人工进行数据的聚合操作,提高了数据查询的便捷性,提高了用户体验。67.以下先对本技术实施例涉及的名词进行解释说明。68.数据仓库:数据仓库是一种面向商务智能活动(尤其是分析)的数据管理系统,适用于查询和分析,通常涉及大量的历史数据。在实际应用中,数据仓库中的数据一般来自应用日志文件和事务应用等广泛来源。比如hive(一种数据仓库工具)就可以认为是数据仓库。数据仓库可集中、整合多个信息源的大量数据,借助数据仓库的分析功能,可从数据中获得业务洞察,改善决策。69.引擎:本文中所述的引擎指的是服务端,即数据集群(集群的意思是多台计算机一起工作)上运行了相关的进程用来接受客户端提交的查询,这些进程称为服务端。70.客户端:本文中指的是带界面的客户端,在客户端的界面中,用户(主要是程序员/数据分析人员等)可以输入相关的sql(structuredquerylanguage,结构化查询语言)代码,客户端将sql代码提交到引擎。引擎收到这些提交的sql代码后,进行计算,然后将计算结果返回给客户端进行显示或者下载。71.入库:把数据存储到数据库/数据仓库里面的这个过程。72.字段:相当于表格中的列名。第1列就是第1个字段,第2列就是第2个字段。73.分区:逻辑上,可以简单理解为一个数据表是一个文件夹,分区就是把这个数据表存储为多个文件,每个文件就是一个分区。按日期分区,就是说每天的数据存储为一个文件,有几天就有几个文件。74.需要说明的是,离线的数据,是指按天入库的数据。实时的数据,是指按每分钟入库的数据。虽然他们都存入引擎,但是采用的数据采集流程(离线数据采用批处理,实时数据采用流处理或者更小的批处理)是完全不同的。因此,一般来说会存入不同的数据表。因为实时数据的存储成本较高(数据的碎片化程度搞,导致成本高),一般只存储短期的,如3天内的。而离线数据可以存长期的。在需要使用全量的数据的时候,需要从离线数据表和实时数据表中查数据,采用本技术实施例的数据查询方法,可以直接获取从离线数据表和实时数据表的融合数据查询结果。75.以下以客户端设备为执行主体,对本技术实施例提供的数据查询方法进行解释说明。可选的,客户端设备可以为下述中的任一项:台式电脑、笔记本电脑、平板电脑等等。76.图1为本发明实施例提供的一种数据查询方法的流程示意图,如图1所示,该方法可以包括:77.s101、获取输入的针对目标业务的第一数据查询指令,对第一数据查询指令进行更改,得到第二数据查询指令。78.其中,第一数据查询指令用于指示从目标业务的离线数据表或实时数据表中查询数据,第二数据查询指令用于指示从目标业务的离线数据表以及实时数据表中查询数据。79.在一些实施方式中,客户端设备可以展示图形用户界面,用户可以通过客户端设备在图形用户界面中进行指令编辑操作,客户端设备响应输入的指令编辑操作,获取针对目标业务的数据查询指令。其中,客户端设备上安装有客户端,客户端设备可以通过客户端展示图形用户界面。80.需要说明的是,数据查询指令可以为sql指令,当然也可以为其他形式的指令,本技术实施例对此不进行具体限制。81.在一种可能的实施方式中,客户端设备可以判断数据查询指令中是否包含预设字符,若包含预设字符,则确定数据查询指令为第一数据查询指令;若数据查询指令为第一数据查询指令,针对目标业务既有离线数据表,也有实时数据表;对第一数据查询指令进行更改,得到的第二数据查询指令,既可以对目标业务的离线数据表进行查询,也可以对目标业务的实时数据表进行查询。82.需要说明的是,若第一数据查询指令指示从目标业务的离线数据表查询数据,则该离线数据表具有对应的实时数据表;若第一数据查询指令指示从目标业务的实时数据表查询数据,则该实时数据表具有对应的离线数据表。即若数据查询指令为第一数据查询指令,针对目标业务既有离线数据表,也有实时数据表。83.s102、执行第二数据查询指令,输出与目标业务对应的数据查询结果,数据查询结果包括离线数据和实时数据。84.其中,针对目标业务的离线数据表和实时数据表,可以存储在与客户端可以进行通信的服务端上,也可以存储在客户端设备上。85.在一些实施方式中,若针对目标业务的离线数据表和实时数据表,存储在客户端设备上,则客户端设备根据第二数据查询指令,分别对针对目标业务的离线数据表和实时数据表进行查询,得到目标业务对应的数据查询结果。86.在另一些实施方式中,若针对目标业务的离线数据表和实时数据表,存储在服务端上,则客户端设备向服务端发送第二数据查询指令,服务端可以接收第二数据查询指令,并根据第二数据查询指令查询针对目标业务的实时数据表以及离线数据表,得到目标业务对应的数据查询结果;服务端可以向客户端设备发送目标业务对应的数据查询结果,客户端设备可以接收目标业务对应的数据查询结果。87.综上所述,本发明实施例提供一种数据查询方法,包括:获取输入的针对目标业务的第一数据查询指,对第一数据查询指令进行更改,得到第二数据查询指令;其中,第一数据查询指令用于指示从目标业务的离线数据表或者实时数据表中查询数据,第二数据查询指令用于指示从目标业务的离线数据表以及实时数据表中查询数据;执行所述第二数据查询指令,输出与所述目标业务对应的数据查询结果,所述数据查询结果包括离线数据和实时数据。对第一数据查询指令进行更改,得到的第二数据查询指令,基于第二数据查询指令可以之间从离线数据表以及实时数据表中查询数据,查询到的数据为两个表中的数据,无需人工进行数据的聚合操作,提高了数据查询的便捷性,提高了用户体验。88.在本技术实施例中,目标业务均可以为某个数据主题,例如,用户点击事件、用户加购物车、用户评论等等。89.可选的,第一数据查询指令中可以包括预设字符,例如,预设字符可以为off或者on。示例的,针对数据查询指令fromtable1_off,说明table1这个业务有离线和实时两个表,针对数据查询指令fromtable2_on,说明table2这个业务有离线和实时两个表。针对数据查询指令fromtable3,因为表名中不含有_off后缀且不含有_on后缀,说明这是一个别的表,不是客户端要处理的表,即该数据查询指令不是第一数据查询指令。90.可选的,图2为本发明实施例提供的一种数据查询方法的流程示意图,如图2所示,上述s102中若数据查询指令为第一数据查询指令,对第一数据查询指令进行更改,得到第二数据查询指令的过程,可以包括:91.s201、对第一数据查询指令进行更改,得到更改后的第一数据查询指令。92.在本技术实施例中,若第一数据查询指令指示对从目标业务的离线数据表中查询数据,则更改后的第一数据查询指令可以指示从目标业务的实时数据表中查询数据;若第一数据查询指令指示对从目标业务的实时数据表中查询数据,则更改后的第一数据查询指令可以指示从目标业务的离线数据表中查询数据。93.s202、根据第一数据查询指令和更改后的第一数据查询指令,得到第二数据查询指令。94.其中,客户端的图形用户界面中还显示有运行控件,响应输入的针对运行控件的选择操作,可以执行上述s201和s202的过程。95.在一些实施方式中,客户端设备可以对第一数据查询指令和更改后的第一数据查询指令进行拼接操作,得到第二数据查询指令。96.在本技术实施例中,针对同一业务的离线表和实时表表字段名、字段类型、字段顺序完全相同,区别在于,离线表和实时表的后缀名不同。示例的,业务可以为busi,则该业务的离线表可以表示为busi_xxx_off,业务的实时表可以表示为busi_xxx_on。97.其中,这两个表的,表字段名/字段类型/字段顺序完全相同。比如busi_off有ds,time,user,age,province这五列,那么busi_on也有ds,time,user,age,province这五列。离线表busi_off的开启分区功能,而实时表不开启分区功能。98.可选的,上述s201中对第一数据查询指令进行更改,得到更改后的第一数据查询指令的过程,可以包括:99.若第一数据查询指令指示从目标业务的实时数据表查询数据,则对第一数据查询指令中的实时类表信息进行修改为离线类表信息,以得到指示从所述目标业务的离线数据表中查询数据的数据查询指令。100.其中,第一数据查询指令指示从目标业务的实时数据表查询数据,更改后的第一数据查询指令可以包括:离线类表信息,则基于更改后的第一数据查询指令可以从目标业务的离线数据表以及实时数据表中查询数据。101.在一些实施方式中,若第一数据查询指令中表名的后缀名为on,第一数据查询指令指示从目标业务的实时数据表查询数据,则将第一数据查询指令中表名的后缀名改为off,并将已修改后缀名的表名作为离线类表信息。102.示例的,第一数据查询指令可以为:fromtable1_on,则更改后的第一数据查询指令可以为table1_off;第一数据查询指令可以为:fromtable2_on,则更改后的第一数据查询指令可以为table2_off。103.可选的,若第一数据查询指令指示从目标业务的离线数据表查询数据,则将第一数据查询指令中的离线类表信息修改为实时类表信息,以得到指示从目标业务的实时数据表中查询数据的数据查询指令。104.其中,第一数据查询指令指示从目标业务的离线数据表查询数据,更改后的第一数据查询指令可以包括:实时类表信息,则基于更改后的第一数据查询指令可以从目标业务的离线数据表以及实时数据表中查询数据。105.在一些实施方式中,若第一数据查询指令中表名的后缀名为off,第一数据查询指令指示从目标业务的离线数据表查询数据,则将第一数据查询指令中表名的后缀名改为on,并将已修改后缀名的表名作为实时类表信息。106.示例的,第一数据查询指令可以为:fromtable1_off,则更改后的第一数据查询指令可以为table1_on;第一数据查询指令可以为:fromtable2_off,则更改后的第一数据查询指令可以为table2_on。107.可选的,图3为本发明实施例提供的一种数据查询方法的流程示意图,如图3所示,上述s202中根据第一数据查询指令和更改后的第一数据查询指令,得到第二数据查询指令的过程,可以包括:108.s301、获取第一数据查询指令和更改后的第一数据查询指令中所包括的离线类表信息。109.s302、基于离线类表信息确定目标业务的至少1个离线表分区。110.在本技术实施例中,若针对目标业务的离线数据表和实时数据表,存储在与客户端可以进行通信的服务端上,则客户端设备可以向服务端发送离线类表信息,服务端可以接收离线类表信息,并根据离线类表信息确定目标业务的至少1个离线表分区,并向客户端设备发送目标业务的至少1个离线表分区。客户端设备可以接收目标业务的至少1个离线表分区。111.另外,若针对目标业务的离线数据表和实时数据表,存储在客户端设备上,则客户端设备可以直接基于离线类表信息确定目标业务的至少1个离线表分区。112.在一些实施方式中,若第一数据查询指令中表名的后缀名为off,说明第一数据查询指令中包括离线类表信息,可以直接确定出离线类表信息;若第一数据查询指令中表名的后缀名为on,则对第一数据查询指令进行更改,将第一数据查询指令中表名的后缀名改为off,更改后的第一数据查询指令中包括:离线类表信息。113.示例的,可以采用预设语句实现上述s301的过程,预设语句可以为:query_partition_table,若第一数据查询指令为fromtable1_off,则query_partition_table=table1_off;若第一数据查询指令为fromtable1_on,则query_partition_table=table1_off。114.需要说明的是,若针对目标业务的离线数据表和实时数据表,存储在与客户端可以进行通信的服务端上,可以将query_partition_table发送至服务端的引擎,查询针对目标业务的至少1个离线表分区;若针对目标业务的离线数据表和实时数据表,存储在客户端设备上,则根据query_partition_table可以直接查询针对目标业务的至少1个离线表分区。115.s303、基于离线表分区确定目标业务对应的最大日期分区。116.其中,目标业务可以具有至少1个离线表分区,客户端设备可以根据预设查找规则,从至少1个离线表分区中确定最大日期分区。117.可选的,上述s303中基于离线表分区确定目标业务对应的最大日期分区,包括:从至少1个离线表分区中,确定距离当前日期最近的日期的分区为最大日期分区。118.其中,每个离线表分区均具有对应的日期,客户端设备可以查找距离当前日期最近的日期,继而得到最近日期的分区,将该分区作为最大日期分区。119.s303、根据最大日期分区、第一数据查询指令、更改后的第一数据查询指令,拼装得到第二数据查询指令。120.在一些实施方式中,在最大日期分区对应的日期以前的数据,通过离线数据表查找;在最大日期分区对应的日期以后的数据,通过实时数据表查找,基于此规则,可以根据最大日期分区、第一数据查询指令、更改后的第一数据查询指令,拼装得到第二数据查询指令。121.在本技术实施例中,若第一数据查询指令指示从所述目标业务的实时数据表查询数据,第一数据查询指令中可以包括实时类表信息,更改后的第一数据查询指令中可以包括离线类表信息。122.另外,若第二数据查询指令指示从所述目标业务的离线数据表查询数据,第一数据查询指令中可以包括离线类表信息,更改后的第一数据查询指令中可以包括实时类表信息。其中,实时类表信息可以通过query_partition_table换后缀_off为_on得到。123.示例的,最近日期对应的分区可以称为ds_max。若第一数据查询指令为fromtable1_off或者fromtable1_on。第二数据查询指令可以表示为:select*fromtable1_offwhereds《=ds_maxunionallselect*fromtable1_onwhereds》ds_max。124.其中,select*fromtable1_offwhereds《=ds_max表示在最大日期分区对应的日期以前的数据,通过离线数据表查找;select*fromtable1_onwhereds》ds_max表示在最大日期分区对应的日期以后的数据,通过实时数据表查找;unionall表示拼接将其前面指令的查询结果与后面指令的查询结果进行拼接,unionall语句指的是将数据“按行拼接”。示例的,前一个指令查了结果有10行数据,后面指令结果查了有5行,那么总的查询结果有15行数据。125.可选的,图4为本发明实施例提供的一种数据查询方法的流程示意图,如图4所示,上述s303中最大日期分区、第一数据查询指令和更改后的第一数据查询指令,得到第二数据查询指令的过程,可以包括:126.s401、根据最大日期分区、第一数据查询指令、更改后的第一数据查询指令以及预设查询条件进行拼装,得到子查询指令。127.s402、根据第一数据查询指令以及子查询指令,得到第二数据查询指令。128.其中,子查询指令可以穿插在第一数据查询指令中。129.在一些实施方式中,客户端设备可以根据子查询指令、预设目标字符以及第一数据查询指令,得到第二数据查询指令。其中,预设查询条件可以为:在最大日期分区对应的日期以前的数据,通过离线数据表查找;在最大日期分区对应的日期以后的数据,通过实时数据表查找;预设目标字符可以包括:as以及小括号。130.示例的,子查询指令可以为select*fromtable1_offwhereds《=ds_maxunionallselect*fromtable1_onwhereds》ds_max;第一数据查询指令可以为fromtable1_off,则第二数据查询指令可以表示为:from(select*fromtable1_offwhereds《=ds_maxunionallselect*fromtable1_onwhereds》ds_max)astable1_off。131.另外,根据第二数据查询指令查询针对目标业务的实时数据表以及离线数据表,对两个表的查询结果可以进行按行拼接,将按行拼接的结果作为目标业务对应的数据查询结果。132.可选的,图5为本发明实施例提供的一种数据查询方法的流程示意图,如图5所示,在上述s101中对第一数据查询指令进行更改,得到第二数据查询指令的过程之前,该方法还可以包括:133.s501、判断第一数据查询指令中是否包含第一预设标识。134.s502、若第一数据查询指令中包含第一预设标识,则执行对第一数据查询指令进行更改,得到第二数据查询指令的步骤。135.其中,第一预设标识用于指示对应的数据查询指令为从目标业务的离线数据表以及实时数据表中查询数据的指令。136.s503、若第一数据查询指令中不包含第一预设标识,则根据第一数据查询指令从目标业务的离线数据表或者实时数据表中查询数据。137.其中,第一预设标识可以为数字字符或者字母字符。138.在一些实施方式中,判断第一数据查询指令中是否包含第一预设标识,若第一数据查询指令中包含第一预设标识,需要查询目标业务的离线数据表以及实时数据表,所以,对第一数据查询指令进行更改,得到第二数据查询指令。若第一数据查询指令中不包含第一预设标识,需要根据第一数据查询指令查询离线数据表或者实时数据表,无需对第一数据查询指令进行更改。139.可选的,若第一数据查询指令中包含第二预设标识,则根据第一数据查询从目标业务的离线数据表或者实时数据表中查询数据。140.其中,第二预设标识用于指示对应的数据查询指令为从目标业务的离线数据表或者实时数据表中查询数据的指令。141.另外,第二预设标识和第一预设标识为不同的预设标识。当然,第一预设标识也可以为数字字符或者字母字符。142.在一些实施方式中,若第一数据查询指令中不包含第一预设标识,则判断第一数据查询指令中是否包含第二预设标识,或者,也可以直接判断第一数据查询指令中是否包含第二预设标识;若第一数据查询指令中包含第二预设标识,需要根据第一数据查询指令查询离线数据表或者实时数据表,无需对第一数据查询指令进行更改。143.示例的,第一预设标识可以为0,第二预设标识可以为1;第一预设标识可以为x,第二预设标识可以为y。144.综上所述,本发明实施例提供一种数据查询方法,包括:获取输入的针对目标业务的第一数据查询指,对第一数据查询指令进行更改,得到第二数据查询指令;其中,第一数据查询指令用于指示从目标业务的离线数据表或者实时数据表中查询数据,第二数据查询指令用于指示从目标业务的离线数据表以及实时数据表中查询数据;执行所述第二数据查询指令,输出与所述目标业务对应的数据查询结果,所述数据查询结果包括离线数据和实时数据。对第一数据查询指令进行更改,得到的第二数据查询指令,基于第二数据查询指令可以之间从离线数据表以及实时数据表中查询数据,查询到的数据为两个表中的数据,无需人工进行数据的聚合操作,提高了数据查询的便捷性,提高了用户体验。145.而且,还提高了查询实时表和离线表的效率。146.下述对用以执行本技术所提供的数据查询方法的数据查询装置、客户端设备及存储介质等进行说明,其具体的实现过程以及技术效果参见上述方法的相关内容,下述不再赘述。147.图6为本发明实施例提供的一种数据查询装置的结构示意图,如图6所示,该装置可以包括:148.更改模块601,用于获取输入的针对目标业务的第一数据查询指令,对所述第一数据查询指令进行更改,得到第二数据查询指令;149.其中,所述第一数据查询指令用于指示从所述目标业务的离线数据表或者实时数据表中查询数据,所述第二数据查询指令用于指示从所述目标业务的离线数据表以及实时数据表中查询数据;150.执行模块602,用于执行所述第二数据查询指令,输出与所述目标业务对应的数据查询结果,所述数据查询结果包括离线数据和实时数据。151.可选的,所述更改模块601,具体用于对所述第一数据查询指令进行更改,得到更改后的第一数据查询指令;根据所述第一数据查询指令和所述更改后的第一数据查询指令,得到所述第二数据查询指令。152.可选的,所述更改模块601,具体用于若所述第一数据查询指令指示从所述目标业务的实时数据表查询数据,则将所述第一数据查询指令中的实时类表信息修改为离线类表信息,以得到指示从所述目标业务的离线数据表中查询数据的数据查询指令;若所述第一数据查询指令指示从所述目标业务的离线数据表查询数据,则将所述第一数据查询指令中的离线类表信息修改为实时类表信息,以得到指示从所述目标业务的实时数据表中查询数据的数据查询指令。153.可选的,所述更改模块601,具体用于获取所述第一数据查询指令和所述更改后的第一数据查询指令中所包括的离线类表信息;基于所述离线类表信息确定所述目标业务的至少1个离线表分区;基于所述离线表分区确定所述目标业务对应的最大日期分区;根据所述最大日期分区、所述第一数据查询指令、所述更改后的第一数据查询指令,拼装得到所述第二数据查询指令。154.可选的,所述更改模块601,具体用于从所述至少1个离线表分区中,确定距离当前日期最近的日期的分区为最大日期分区。155.可选的,所述更改模块601,具体用于根据所述最大日期分区、所述第一数据查询指令、所述更改后的第一数据查询指令以及预设查询条件进行拼装,得到子查询指令;根据所述第一数据查询指令以及所述子查询指令,得到所述第二数据查询指令。156.可选的,所述装置还包括:157.判断模块,用于判断所述第一数据查询指令中是否包含第一预设标识;若所述第一数据查询指令中包含所述第一预设标识,则执行对所述第一数据查询指令进行更改,得到第二数据查询指令的步骤;其中,所述第一预设标识用于指示对应的数据查询指令为从所述目标业务的离线数据表以及实时数据表中查询数据的指令。158.可选的,所述装置还包括:159.查询模块,用于若所述第一数据查询指令中不包含所述第一预设标识,则根据所述第一数据查询指令从所述目标业务的离线数据表或者实时数据表中查询数据;或者,若所述第一数据查询指令中包含所述第二预设标识,则根据所述第一数据查询从所述目标业务的离线数据表或者实时数据表中查询数据;其中,所述第二预设标识用于指示对应的数据查询指令为从所述目标业务的离线数据表或者实时数据表中查询数据的指令。160.上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。161.以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(applicationspecificintegratedcircuit,简称asic),或,一个或多个微处理器(digitalsingnalprocessor,简称dsp),或,一个或者多个现场可编程门阵列(fieldprogrammablegatearray,简称fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(centralprocessingunit,简称cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。162.图7为本发明实施例提供的一种客户端设备的结构示意图,如图7所示,该客户端设备可以包括:处理器701、存储器702。其中,存储器702用于存储程序,处理器701调用存储器702存储的程序,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。163.示例的,该方法可以包括:164.获取输入的针对目标业务的第一数据查询指令,对所述第一数据查询指令进行更改,得到第二数据查询指令;165.其中,所述第一数据查询指令用于指示从所述目标业务的离线数据表或者实时数据表中查询数据,所述第二数据查询指令用于指示从所述目标业务的离线数据表以及实时数据表中查询数据;166.执行所述第二数据查询指令,输出与所述目标业务对应的数据查询结果,所述数据查询结果包括离线数据和实时数据。167.可选的,所述若所述数据查询指令为第一数据查询指令,对所述第一数据查询指令进行更改,得到第二数据查询指令,包括:168.对所述第一数据查询指令进行更改,得到更改后的第一数据查询指令;169.根据所述第一数据查询指令和所述更改后的第一数据查询指令,得到所述第二数据查询指令。170.可选的,所述对所述第一数据查询指令进行更改,得到更改后的第一数据查询指令,包括:171.若所述第一数据查询指令指示从所述目标业务的实时数据表查询数据,则将所述第一数据查询指令中的实时类表信息修改为离线类表信息,以得到指示从所述目标业务的离线数据表中查询数据的数据查询指令;172.若所述第一数据查询指令指示从所述目标业务的离线数据表查询数据,则将所述第一数据查询指令中的离线类表信息修改为实时类表信息,以得到指示从所述目标业务的实时数据表中查询数据的数据查询指令。173.可选的,所述根据所述第一数据查询指令和所述更改后的第一数据查询指令,得到所述第二数据查询指令,包括:174.获取所述第一数据查询指令和所述更改后的第一数据查询指令中所包括的离线类表信息;175.基于所述离线类表信息确定所述目标业务的至少1个离线表分区;176.基于所述离线表分区确定所述目标业务对应的最大日期分区;177.根据所述最大日期分区、所述第一数据查询指令、所述更改后的第一数据查询指令,拼装得到所述第二数据查询指令。178.可选的,所述基于所述离线表分区确定所述目标业务对应的最大日期分区,包括:179.从所述至少1个离线表分区中,确定距离当前日期最近的日期的分区为最大日期分区。180.可选的,所述根据所述最大日期分区、所述第一数据查询指令和所述更改后的第一数据查询指令,拼装得到所述第二数据查询指令,包括:181.根据所述最大日期分区、所述第一数据查询指令、所述更改后的第一数据查询指令以及预设查询条件进行拼装,得到子查询指令;182.根据所述第一数据查询指令以及所述子查询指令,得到所述第二数据查询指令。183.可选的,在所述对所述第一数据查询指令进行更改,得到第二数据查询指令之前,所述方法还包括:184.判断所述第一数据查询指令中是否包含第一预设标识;185.若所述第一数据查询指令中包含所述第一预设标识,则执行对所述第一数据查询指令进行更改,得到第二数据查询指令的步骤;186.其中,所述第一预设标识用于指示对应的数据查询指令为从所述目标业务的离线数据表以及实时数据表中查询数据的指令。187.可选的,所述方法还包括:188.若所述第一数据查询指令中不包含所述第一预设标识,则根据所述第一数据查询指令从所述目标业务的离线数据表或者实时数据表中查询数据;189.或者,若所述第一数据查询指令中包含所述第二预设标识,则根据所述第一数据查询从所述目标业务的离线数据表或者实时数据表中查询数据;190.其中,所述第二预设标识用于指示对应的数据查询指令为从所述目标业务的离线数据表或者实时数据表中查询数据的指令。191.综上所述,对第一数据查询指令进行更改,得到的第二数据查询指令,基于第二数据查询指令可以之间从离线数据表以及实时数据表中查询数据,查询到的数据为两个表中的数据,无需人工进行数据的聚合操作,提高了数据查询的便捷性,提高了用户体验。192.可选地,本发明还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。193.获取输入的针对目标业务的第一数据查询指令,对所述第一数据查询指令进行更改,得到第二数据查询指令;194.其中,所述第一数据查询指令用于指示从所述目标业务的离线数据表或者实时数据表中查询数据,所述第二数据查询指令用于指示从所述目标业务的离线数据表以及实时数据表中查询数据;195.执行所述第二数据查询指令,输出与所述目标业务对应的数据查询结果,所述数据查询结果包括离线数据和实时数据。196.可选的,所述若所述数据查询指令为第一数据查询指令,对所述第一数据查询指令进行更改,得到第二数据查询指令,包括:197.对所述第一数据查询指令进行更改,得到更改后的第一数据查询指令;198.根据所述第一数据查询指令和所述更改后的第一数据查询指令,得到所述第二数据查询指令。199.可选的,所述对所述第一数据查询指令进行更改,得到更改后的第一数据查询指令,包括:200.若所述第一数据查询指令指示从所述目标业务的实时数据表查询数据,则将所述第一数据查询指令中的实时类表信息修改为离线类表信息,以得到指示从所述目标业务的离线数据表中查询数据的数据查询指令;201.若所述第一数据查询指令指示从所述目标业务的离线数据表查询数据,则将所述第一数据查询指令中的离线类表信息修改为实时类表信息,以得到指示从所述目标业务的实时数据表中查询数据的数据查询指令。202.可选的,所述根据所述第一数据查询指令和所述更改后的第一数据查询指令,得到所述第二数据查询指令,包括:203.获取所述第一数据查询指令和所述更改后的第一数据查询指令中所包括的离线类表信息;204.基于所述离线类表信息确定所述目标业务的至少1个离线表分区;205.基于所述离线表分区确定所述目标业务对应的最大日期分区;206.根据所述最大日期分区、所述第一数据查询指令、所述更改后的第一数据查询指令,拼装得到所述第二数据查询指令。207.可选的,所述基于所述离线表分区确定所述目标业务对应的最大日期分区,包括:208.从所述至少1个离线表分区中,确定距离当前日期最近的日期的分区为最大日期分区。209.可选的,所述根据所述最大日期分区、所述第一数据查询指令和所述更改后的第一数据查询指令,拼装得到所述第二数据查询指令,包括:210.根据所述最大日期分区、所述第一数据查询指令、所述更改后的第一数据查询指令以及预设查询条件进行拼装,得到子查询指令;211.根据所述第一数据查询指令以及所述子查询指令,得到所述第二数据查询指令。212.可选的,在所述对所述第一数据查询指令进行更改,得到第二数据查询指令之前,所述方法还包括:213.判断所述第一数据查询指令中是否包含第一预设标识;214.若所述第一数据查询指令中包含所述第一预设标识,则执行对所述第一数据查询指令进行更改,得到第二数据查询指令的步骤;215.其中,所述第一预设标识用于指示对应的数据查询指令为从所述目标业务的离线数据表以及实时数据表中查询数据的指令。216.可选的,所述方法还包括:217.若所述第一数据查询指令中不包含所述第一预设标识,则根据所述第一数据查询指令从所述目标业务的离线数据表或者实时数据表中查询数据;218.或者,若所述第一数据查询指令中包含所述第二预设标识,则根据所述第一数据查询从所述目标业务的离线数据表或者实时数据表中查询数据;219.其中,所述第二预设标识用于指示对应的数据查询指令为从所述目标业务的离线数据表或者实时数据表中查询数据的指令。220.综上所述,对第一数据查询指令进行更改,得到的第二数据查询指令,基于第二数据查询指令可以之间从离线数据表以及实时数据表中查询数据,查询到的数据为两个表中的数据,无需人工进行数据的聚合操作,提高了数据查询的便捷性,提高了用户体验。221.在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。222.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。223.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。224.上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文:read-onlymemory,简称:rom)、随机存取存储器(英文:randomaccessmemory,简称:ram)、磁碟或者光盘等各种可以存储程序代码的介质。225.以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12当前第1页12
技术特征:1.一种数据查询方法,其特征在于,所述方法包括:获取输入的针对目标业务的第一数据查询指令,对所述第一数据查询指令进行更改,得到第二数据查询指令;其中,所述第一数据查询指令用于指示从所述目标业务的离线数据表或者实时数据表中查询数据,所述第二数据查询指令用于指示从所述目标业务的离线数据表以及实时数据表中查询数据;执行所述第二数据查询指令,输出与所述目标业务对应的数据查询结果,所述数据查询结果包括离线数据和实时数据。2.根据权利要求1所述的方法,其特征在于,所述对所述第一数据查询指令进行更改,得到第二数据查询指令,包括:对所述第一数据查询指令进行更改,得到更改后的第一数据查询指令;根据所述第一数据查询指令和所述更改后的第一数据查询指令,得到所述第二数据查询指令。3.根据权利要求2所述的方法,其特征在于,所述对所述第一数据查询指令进行更改,得到更改后的第一数据查询指令,包括:若所述第一数据查询指令指示从所述目标业务的实时数据表查询数据,则将所述第一数据查询指令中的实时类表信息修改为离线类表信息,以得到指示从所述目标业务的离线数据表中查询数据的数据查询指令;若所述第一数据查询指令指示从所述目标业务的离线数据表查询数据,则将所述第一数据查询指令中的离线类表信息修改为实时类表信息,以得到指示从所述目标业务的实时数据表中查询数据的数据查询指令。4.根据权利要求3所述的方法,其特征在于,所述根据所述第一数据查询指令和所述更改后的第一数据查询指令,得到所述第二数据查询指令,包括:获取所述第一数据查询指令和所述更改后的第一数据查询指令中所包括的离线类表信息;基于所述离线类表信息确定所述目标业务的至少1个离线表分区;基于所述离线表分区确定所述目标业务对应的最大日期分区;根据所述最大日期分区、所述第一数据查询指令、所述更改后的第一数据查询指令,拼装得到所述第二数据查询指令。5.根据权利要求4所述的方法,其特征在于,所述基于所述离线表分区确定所述目标业务对应的最大日期分区,包括:从所述至少1个离线表分区中,确定距离当前日期最近的日期的分区为最大日期分区。6.根据权利要求4所述的方法,其特征在于,所述根据所述最大日期分区、所述第一数据查询指令和所述更改后的第一数据查询指令,拼装得到所述第二数据查询指令,包括:根据所述最大日期分区、所述第一数据查询指令、所述更改后的第一数据查询指令以及预设查询条件进行拼装,得到子查询指令;根据所述第一数据查询指令以及所述子查询指令,得到所述第二数据查询指令。7.根据权利要求1所述的方法,其特征在于,在所述对所述第一数据查询指令进行更改,得到第二数据查询指令之前,所述方法还包括:
判断所述第一数据查询指令中是否包含第一预设标识;若所述第一数据查询指令中包含所述第一预设标识,则执行对所述第一数据查询指令进行更改,得到第二数据查询指令的步骤;其中,所述第一预设标识用于指示对应的数据查询指令为从所述目标业务的离线数据表以及实时数据表中查询数据的指令。8.根据权利要求7所述的方法,其特征在于,所述方法还包括:若所述第一数据查询指令中不包含所述第一预设标识,则根据所述第一数据查询指令从所述目标业务的离线数据表或者实时数据表中查询数据;或者,若所述第一数据查询指令中包含第二预设标识,则根据所述第一数据查询从所述目标业务的离线数据表或者实时数据表中查询数据;其中,所述第二预设标识用于指示对应的数据查询指令为从所述目标业务的离线数据表或者实时数据表中查询数据的指令。9.一种数据查询装置,其特征在于,所述装置包括:更改模块,用于获取输入的针对目标业务的第一数据查询指令,对所述第一数据查询指令进行更改,得到第二数据查询指令;其中,所述第一数据查询指令用于指示从所述目标业务的离线数据表或者实时数据表中查询数据,所述第二数据查询指令用于指示从所述目标业务的离线数据表以及实时数据表中查询数据;执行模块,用于执行所述第二数据查询指令,输出与所述目标业务对应的数据查询结果,所述数据查询结果包括离线数据和实时数据。10.一种客户端设备,其特征在于,包括:存储器和处理器,所述存储器存储有所述处理器可执行的计算机程序,所述处理器执行所述计算机程序时实现上述权利要求1-8任一项所述的数据查询方法。11.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被读取并执行时,实现上述权利要求1-8任一项所述的数据查询方法。
技术总结本发明提供一种数据查询方法、装置、客户端设备及存储介质,涉及数据处理技术领域。该数据查询方法包括:获取输入的针对目标业务的第一数据查询指令,对第一数据查询指令进行更改,得到第二数据查询指令;其中,第一数据查询指令用于指示从目标业务的离线数据表或者实时数据表中查询数据,第二数据查询指令用于指示从目标业务的离线数据表以及实时数据表中查询数据;执行第二数据查询指令,输出与所述目标业务对应的数据查询结果,所述数据查询结果包括离线数据和实时数据。对第一数据查询指令进行更改,得到的第二数据查询指令可以查询两个表中的数据,无需人工进行数据的聚合操作,提高了数据查询的便捷性,提高了用户体验。提高了用户体验。提高了用户体验。
技术研发人员:徐帅 刘勇成 胡志鹏 袁思思 程龙
受保护的技术使用者:网易(杭州)网络有限公司
技术研发日:2022.07.22
技术公布日:2022/11/1