数据统计方法及系统技术方案

技术编号:24353346 阅读:44 留言:0更新日期:2020-06-03 02:03
本公开提供一种数据统计方法及系统,涉及数据统计技术领域。本公开提供的数据统计方法及系统,通过接收用户下发的查询条件,得到查询条件包括的多个固定字段,根据多个固定字段中的数据类型字段查询关系型数据库表中是否存在根据接收到的查询条件查询hive表的查询记录;其中,如果不存在查询记录,则判定关系型数据库表中不存在hive表,并建立第一hive表,同时获取多个固定字段对应的数据统计结果,将数据统计结果插入第一hive表中,以从第一hive表查询数据统计结果,提高数据处理的可扩展性;如果存在查询记录,则根据多个固定字段查询关系型数据库表中是否存在目标hive表,如果存在目标hive表,则从目标hive表中查询数据统计结果,提高数据统计处理效率。

Data statistics method and system

【技术实现步骤摘要】
数据统计方法及系统
本公开涉及数据统计
,具体而言,涉及一种数据统计方法及系统。
技术介绍
当前是数据的时代,各种各样的数据堆积成山,如何在这些杂乱无章的数据中找出有规律的、基于某些统计字段的统计数据显得越来越重要。统计报表数据能够为决策、研究、分析等提供重要依据。但是,目前对于数据的统计处理可扩展性较差,效率低且成本较高。
技术实现思路
有鉴于此,本公开提供一种数据统计方法及系统。本公开提供一种数据统计方法,应用于数据统计系统;所述方法包括:接收用户下发的查询条件,得到所述查询条件包括的多个固定字段,所述多个固定字段中包括数据类型字段,所述多个固定字段根据数据的属性归类整理得到。根据所述数据类型字段查询预存的关系型数据库表中是否存在根据接收到的所述查询条件查询hive表的查询记录,所述关系型数据库表用于存储根据各查询条件查询hive表的多条查询记录。如果不存在所述查询记录,则判定所述关系型数据库表中不存在所述hive表,并建立第一hive表,获得与所述多个固定字段对应的数据统计结果并插入所述第一hive表中,以从所述第一hive表查询数据统计结果;所述数据统计系统预存有与多个固定字段对应的数据统计结果。如果存在所述查询记录,则根据所述多个固定字段查询所述关系型数据库表中是否存在根据用户下发的查询条件对应的目标hive表,如果存在对应的目标hive表,从所述目标hive表中查询数据统计结果。进一步的,所述多个固定字段还包括开始时间、结束时间、报表类型以及统计字段;如果不存在所述查询记录,则判定所述关系型数据库表中不存在所述hive表,并建立第一hive表,获得所述多个固定字段对应的数据统计结果并插入所述第一hive表中,以从所述第一hive表查询数据统计结果的步骤包括:根据所述查询条件中的开始时间、结束时间、数据类型、统计字段以及报表类型字段生成建立hive表的语句,调用hive接口,基于所述建立hive表的语句进行建表操作,得到所述第一hive表。根据所述查询条件中的统计字段生成插入语句,获得与所述查询条件中的统计字段对应的数据统计结果,调用所述hive接口,基于所述插入语句,将所述查询条件中的统计字段对应的数据统计结果按照预设格式插入至所述第一hive表中。将所述查询条件中的开始时间、结束时间、数据类型、统计字段以及报表类型字段以及所述第一hive表的表名按照预设表格格式存入至所述关系型数据库表中。根据所述查询条件中的开始时间、结束时间、数据类型、统计字段以及报表类型字段生成与所述第一hive表对应的查询语句,根据所述查询语句,从所述第一hive表查询数据统计结果。进一步的,所述统计字段包括多个子信息,如果所述查询记录存在,则根据所述多个固定字段查询所述关系型数据库表中是否存在根据用户下发的查询条件对应的目标hive表,如果存在对应的目标hive表,从所述目标hive表中查询数据统计结果的步骤包括:从所述关系型数据库表中查询出所有与所述数据类型字段相同的数据结果。将每一个所述数据结果中的统计字段与所述查询条件中的统计字段进行匹配。判断所述查询条件中的统计字段的子信息的个数是否比所有的所述数据结果中的统计字段的子信息的个数多。如果所述查询条件中的统计字段的子信息的个数比所有的所述数据结果中的统计字段的子信息的个数多,根据所述查询条件中的开始时间、结束时间、数据类型、统计字段以及报表类型字段生成建立hive表的语句,调用所述hive接口,基于所述建立hive表的语句进行建表操作,得到第二hive表。根据所述查询条件中的统计字段生成插入语句,获取与所述查询条件中的统计字段对应的数据统计结果,调用所述hive接口,基于所述插入语句,将所述查询条件中的统计字段对应的数据统计结果按照预设格式插入至所述第二hive表中。将所述查询条件中的开始时间、结束时间、数据类型、统计字段以及报表类型字段以及所述第二hive表的表名按照预设表格格式存入至所述关系型数据库表中。根据所述查询条件中的开始时间、结束时间、数据类型、统计字段以及报表类型字段生成与所述第二hive表对应的查询语句,根据所述查询语句,从所述第二hive表查询数据统计结果。进一步的,如果所述查询条件中的统计字段的子信息的个数比其中至少一个所述数据结果中的统计字段的子信息的个数少且所述查询条件中的统计字段的子信息包含于其中至少一个所述数据结果中的统计字段的子信息,所述方法还包括:获取统计字段的子信息的个数最少且包含所述查询条件中的统计字段的子信息的数据结果对应的第三hive表的表名。根据所述第三hive表的表名、所述查询条件中的数据类型以及报表类型字段查询所述关系型数据库表中的查询记录。进一步的,如果根据所述第三hive表的表名、所述查询条件中的数据类型以及报表类型字段无法查询所述关系型数据库表中的查询记录,所述方法还包括:根据所述查询条件中的开始时间、结束时间、数据类型、报表类型字段以及所述第三hive表中的统计字段,生成插入语句,调用所述hive接口,将所述第三hive表中的统计字段对应的数据统计结果按照预设格式插入到所述第三hive表中。将所述查询条件中的开始时间、结束时间、数据类型、报表类型字段所述第三hive表中的统计字段以及所述第三hive表的表名按照预设表格格式存入至所述关系型数据库表中。根据所述查询条件中的开始时间、结束时间、数据类型、统计字段以及报表类型字段生成与所述第三hive表对应的查询语句,根据所述查询语句,从所述第三hive表中查询数据统计结果。进一步的,如果根据所述第三hive表的表名、所述查询条件中的数据类型以及报表类型字段查询得到所述关系型数据库表中的查询记录,所述方法还包括:将所述查询条件中的开始时间和结束时间与每一个所述数据结果中的开始时间和结束时间进行匹配。判断所述查询条件中的开始时间和结束时间对应的时间段是否属于所述数据结果中的开始时间和结束时间对应的时间段。如果所述查询条件中的开始时间和结束时间对应的时间段属于所述数据结果中的开始时间和结束时间对应的时间段。根据所述查询条件中的开始时间、结束时间、数据类型、统计字段以及报表类型字段生成与所述第三hive表对应的查询语句,根据所述查询语句,从所述第三hive表中查询数据统计结果。进一步的,如果所述查询条件中的开始时间和结束时间对应的时间段不属于所述数据结果中的开始时间和结束时间对应的时间段,所述方法还包括:根据所述查询条件中的开始时间、结束时间、数据类型、报表类型字段、所述第三hive表中的统计字段以及所述查询条件中的开始时间和结束时间对应的时间段,生成插入语句,调用所述hive接口,将所述第三hive表中的统计字段对应的数据统计结果按照预设格式插入到所述第三hive表中。将所述查询条件中的开始时间、结束时间、数据类型以及报表类型字本文档来自技高网...

【技术保护点】
1.一种数据统计方法,其特征在于,应用于数据统计系统;所述方法包括:/n接收用户下发的查询条件,得到所述查询条件包括的多个固定字段,所述多个固定字段中包括数据类型字段,所述多个固定字段根据数据的属性归类整理得到;/n根据所述数据类型字段查询预存的关系型数据库表中是否存在根据接收到的所述查询条件查询hive表的查询记录,所述关系型数据库表用于存储根据各查询条件查询hive表的多条查询记录;/n如果不存在所述查询记录,则判定所述关系型数据库表中不存在所述hive表,并建立第一hive表,获得与所述多个固定字段对应的数据统计结果并插入所述第一hive表中,以从所述第一hive表查询数据统计结果;所述数据统计系统预存有与多个固定字段对应的数据统计结果;/n如果存在所述查询记录,则根据所述多个固定字段查询所述关系型数据库表中是否存在根据用户下发的查询条件对应的目标hive表,如果存在对应的目标hive表,从所述目标hive表中查询数据统计结果。/n

【技术特征摘要】
1.一种数据统计方法,其特征在于,应用于数据统计系统;所述方法包括:
接收用户下发的查询条件,得到所述查询条件包括的多个固定字段,所述多个固定字段中包括数据类型字段,所述多个固定字段根据数据的属性归类整理得到;
根据所述数据类型字段查询预存的关系型数据库表中是否存在根据接收到的所述查询条件查询hive表的查询记录,所述关系型数据库表用于存储根据各查询条件查询hive表的多条查询记录;
如果不存在所述查询记录,则判定所述关系型数据库表中不存在所述hive表,并建立第一hive表,获得与所述多个固定字段对应的数据统计结果并插入所述第一hive表中,以从所述第一hive表查询数据统计结果;所述数据统计系统预存有与多个固定字段对应的数据统计结果;
如果存在所述查询记录,则根据所述多个固定字段查询所述关系型数据库表中是否存在根据用户下发的查询条件对应的目标hive表,如果存在对应的目标hive表,从所述目标hive表中查询数据统计结果。


2.根据权利要求1所述的数据统计方法,其特征在于,所述多个固定字段还包括开始时间、结束时间、报表类型以及统计字段;如果不存在所述查询记录,则判定所述关系型数据库表中不存在所述hive表,并建立第一hive表,获得所述多个固定字段对应的数据统计结果并插入所述第一hive表中,以从所述第一hive表查询数据统计结果的步骤包括:
根据所述查询条件中的开始时间、结束时间、数据类型、统计字段以及报表类型字段生成建立hive表的语句,调用hive接口,基于所述建立hive表的语句进行建表操作,得到所述第一hive表;
根据所述查询条件中的统计字段生成插入语句,获得与所述查询条件中的统计字段对应的数据统计结果,调用所述hive接口,基于所述插入语句,将所述查询条件中的统计字段对应的数据统计结果按照预设格式插入至所述第一hive表中;
将所述查询条件中的开始时间、结束时间、数据类型、统计字段以及报表类型字段以及所述第一hive表的表名按照预设表格格式存入至所述关系型数据库表中;
根据所述查询条件中的开始时间、结束时间、数据类型、统计字段以及报表类型字段生成与所述第一hive表对应的查询语句,根据所述查询语句,从所述第一hive表查询数据统计结果。


3.根据权利要求2所述的数据统计方法,其特征在于,所述统计字段包括多个子信息,如果所述查询记录存在,则根据所述多个固定字段查询所述关系型数据库表中是否存在根据用户下发的查询条件对应的目标hive表,如果存在对应的目标hive表,从所述目标hive表中查询数据统计结果的步骤包括:
从所述关系型数据库表中查询出所有与所述数据类型字段相同的数据结果;
将每一个所述数据结果中的统计字段与所述查询条件中的统计字段进行匹配;
判断所述查询条件中的统计字段的子信息的个数是否比所有的所述数据结果中的统计字段的子信息的个数多;
如果所述查询条件中的统计字段的子信息的个数比所有的所述数据结果中的统计字段的子信息的个数多,根据所述查询条件中的开始时间、结束时间、数据类型、统计字段以及报表类型字段生成建立hive表的语句,调用所述hive接口,基于所述建立hive表的语句进行建表操作,得到第二hive表;
根据所述查询条件中的统计字段生成插入语句,获取与所述查询条件中的统计字段对应的数据统计结果,调用所述hive接口,基于所述插入语句,将所述查询条件中的统计字段对应的数据统计结果按照预设格式插入至所述第二hive表中;
将所述查询条件中的开始时间、结束时间、数据类型、统计字段以及报表类型字段以及所述第二hive表的表名按照预设表格格式存入至所述关系型数据库表中;
根据所述查询条件中的开始时间、结束时间、数据类型、统计字段以及报表类型字段生成与所述第二hive表对应的查询语句,根据所述查询语句,从所述第二hive表查询数据统计结果。


4.根据权利要求3所述的数据统计方法,其特征在于,如果所述查询条件中的统计字段的子信息的个数比其中至少一个所述数据结果中的统计字段的子信息的个数少且所述查询条件中的统计字段的子信息包含于其中至少一个所述数据结果中的统计字段的子信息,所述方法还包括:
获取统计字段的子信息的个数最少且完全包含所述查询条件中的统计字段的子信息的数据结果对应的第三hive表的表名;
根据所述第三hive表的表名、所述查询条件中的数据类型以及报表类型字段查询所述关系型数据库表中的查询记录。


5.根据权利要求4所述的数据统计方法,其特征在于,如果根据所述第三hive表的表名、所述查询条件中的数据类型以及报表类型字段无法查询所述关系型数据库表中的查询记录,所述方法还包括:
根据所述查询条件中的开始时间、结束时间、数据类型、报表类型字段以及所述第三hive...

【专利技术属性】
技术研发人员:袁艳
申请(专利权)人:浙江宇视科技有限公司
类型:发明
国别省市:浙江;33

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

1