Hive表扫描方法、装置、计算机设备及存储介质转让专利

申请号 : CN201810030843.4

文献号 : CN108108490B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈海涛晏存

申请人 : 平安科技(深圳)有限公司

摘要 :

本申请公开了一种Hive表扫描方法、装置、计算机设备及存储介质,其中方法包括:获取Hive表的更新时间信息,其中所述更新时间信息包括所述Hive表的更新周期;根据预设对应规则确定所述更新周期对应的更新周期等级;根据所述更新周期等级与预设扫描规则之间的预设对应关系表确定所述更新周期对应的目标扫描规则;以及根据所述目标扫描规则对所述Hive表进行扫描统计。该方法考虑到Hive的更新周期,根据不同的更新周期确定使用不同的预设扫描规则作为目标扫描规则进行扫描统计,由此提高了Hive表的扫描统计效率,进而为用户节省了大量的时间。

权利要求 :

1.一种Hive表扫描方法,其特征在于,包括:获取Hive表的更新时间信息,其中所述更新时间信息包括所述Hive表的更新周期;

根据预设对应规则确定所述更新周期对应的更新周期等级;

根据所述更新周期等级与预设扫描规则之间的预设对应关系表确定所述更新周期对应的目标扫描规则;以及根据所述目标扫描规则对所述Hive表进行扫描统计。

2.根据权利要求1所述的Hive表扫描方法,其特征在于,所述更新时间信息还包括所述Hive表的更新时长;

所述获取Hive表的更新时间信息之前,还包括:获取所述Hive表的行数信息;以及

根据所述行数信息确定相应的预设时长阈值;

所述根据所述更新周期等级与预设扫描规则之间的预设对应关系表确定所述更新周期对应的目标扫描规则之后,还包括:判断所述更新时长是否大于所述预设时长阈值;

若所述更新时长大于所述预设时长阈值,按照预设调整规则调整所述目标扫描规则以及根据调整后的所述目标扫描规则对所述Hive表进行扫描统计。

3.根据权利要求1所述的Hive表扫描方法,其特征在于,所述获取Hive表的更新时间信息之前,还包括:获取需要加载到Hive表中的待加载数据;

采用预设处理规则对所述待加载数据进行处理。

4.根据权利要求3所述的Hive表扫描方法,其特征在于,所述采用预设处理规则对所述待加载数据进行处理,包括:对所述待加载数据进行压缩处理。

5.根据权利要求1所述的Hive表扫描方法,其特征在于,所述根据所述目标扫描规则对所述Hive表进行扫描统计,包括:将所述目标扫描规则转换成HQL扫描统计语句;

根据所述HQL扫描统计语句生成MapReduce执行任务;以及基于Hadoop执行所述MapReduce执行任务以完成对Hive表的扫描统计。

6.一种Hive表扫描装置,其特征在于,包括:时间获取单元,用于获取Hive表的更新时间信息,其中所述更新时间信息包括所述Hive表的更新周期;

等级确定单元,用于根据预设对应规则确定所述更新周期对应的更新周期等级;

规则确定单元,用于根据所述更新周期等级与预设扫描规则之间的预设对应关系表确定所述更新周期对应的目标扫描规则;以及扫描统计单元,用于根据所述目标扫描规则对所述Hive表进行扫描统计。

7.根据权利要求6所述的Hive表扫描装置,其特征在于,所述更新时间信息还包括所述Hive表的更新时长;所述Hive表扫描装置,还包括:行数获取单元,用于获取所述Hive表的行数信息;

阈值确定单元,用于根据所述行数信息确定相应的预设时长阈值;

阈值判断单元,用于判断所述更新时长是否大于所述预设时长阈值;

调整扫描单元,用于若所述更新时长大于所述预设时长阈值,按照预设调整规则调整所述目标扫描规则以及根据调整后的所述目标扫描规则对所述Hive表进行扫描统计。

8.根据权利要求6所述的Hive表扫描装置,其特征在于,所述扫描统计单元,包括:语句转换子单元,用于将所述目标扫描规则转换成HQL扫描统计语句;

任务生成子单元,用于根据所述HQL扫描统计语句生成MapReduce执行任务;以及任务执行子单元,用于基于Hadoop执行所述MapReduce执行任务以完成对Hive表的扫描统计。

9.一种计算机设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至5中任一项所述的Hive表扫描方法。

10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-5任一项所述的Hive表扫描方法。

说明书 :

Hive表扫描方法、装置、计算机设备及存储介质

技术领域

[0001] 本申请涉及互联网技术领域,尤其涉及一种Hive表扫描方法、装置、计算机设备及存储介质。

背景技术

[0002] 目前,随着大数据的发展,海量的数据带来巨大的价值,如何快速地将冗杂的大数据快速转化成可用的信息是急需解决的问题。Hadoop分布式处理平台成为处理大数据的选择,其中Hive表是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能,实现对大数据存储和管理。然而,随着数据量的增加,Hive表的数量级一般为亿级或十几亿级,如果对这些Hive表进行扫描统计,大约需要200个主机且至少一天的时间才能完成扫描统计,严重拖累了机器学习的效率,因此需要一种Hive表扫描方法以解决上述问题。

发明内容

[0003] 本申请提供了一种Hive表扫描方法、装置、计算机设备及存储介质,旨在提高Hive表的扫描统计速率,改善机器学习的效率。
[0004] 第一方面,本申请提供了一种Hive表扫描方法,其包括:
[0005] 获取Hive表的更新时间信息,其中所述更新时间信息包括所述Hive表的更新周期;
[0006] 根据预设对应规则确定所述更新周期对应的更新周期等级;
[0007] 根据所述更新周期等级与预设扫描规则之间的预设对应关系表确定所述更新周期对应的目标扫描规则;以及
[0008] 根据所述目标扫描规则对所述Hive表进行扫描统计。
[0009] 第二方面,本申请提供了一种Hive表扫描装置,其包括:
[0010] 时间获取单元,用于获取Hive表的更新时间信息,其中所述更新时间信息包括所述Hive表的更新周期;
[0011] 等级确定单元,用于根据预设对应规则确定所述更新周期对应的更新周期等级;
[0012] 规则确定单元,用于根据所述更新周期等级与预设扫描规则之间的预设对应关系表确定所述更新周期对应的目标扫描规则;以及
[0013] 扫描统计单元,用于根据所述目标扫描规则对所述Hive表进行扫描统计。
[0014] 第三方面,本申请提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现本申请提供的任一项所述的Hive表扫描方法。
[0015] 第四方面,本申请还提供了一种存储介质,其中所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行本申请提供的任一项所述的Hive表扫描方法。
[0016] 本申请实施例通过获取Hive表的更新时间信息,其中所述更新时间信息包括所述Hive表的更新周期;根据预设对应规则确定所述更新周期对应的更新周期等级;根据所述更新周期等级与预设扫描规则之间的预设对应关系表确定所述更新周期对应的目标扫描规则;以及根据所述目标扫描规则对所述Hive表进行扫描统计。该方法考虑到Hive的更新周期,根据不同的更新周期确定使用不同的预设扫描规则作为目标扫描规则进行扫描统计,由此提高了Hive表的扫描统计效率,进而为用户节省了大量的时间。

附图说明

[0017] 为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0018] 图1是本申请实施例提供的一种Hive表扫描方法的应用场景的示意图;
[0019] 图2是本申请一实施例提供的一种Hive表扫描方法的示意流程图;
[0020] 图3是图1中的Hive表扫描方法的子步骤示意流程图;
[0021] 图4是本申请另一实施例提供的一种Hive表扫描方法的示意流程图;
[0022] 图5是本申请一实施例提供的一种Hive表扫描装置的示意性框图;
[0023] 图6是本申请另一实施例提供的一种Hive表扫描装置的示意性框图;
[0024] 图7是本申请一实施例提供的一种计算机设备的示意性框图。

具体实施方式

[0025] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0026] 应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0027] 还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
[0028] 还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0029] 本申请提供了一种Hive表扫描方法、装置、计算机设备及存储介质。为了便于理解,先对该Hive表扫描方法对应的应用场景进行介绍。请参阅图1,图1是本申请实施例提供的一种Hive表扫描方法的应用场景的示意图。如图1所示,该应用场景包括第一服务器、第二服务器和数据库集群,其中第一服务器和第二服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
[0030] 其中,Hive工具安装在该第一服务器中,Hadoop平台安装在该第二服务器中。Hive工具为基于Hadoop平台的一个数据仓库工具,借助于Hadoop凭条可以将结构化的数据文件映射为一张数据库表,即Hive表,并提供简单的SQL查询功能,实现对数据库中的大数据的存储和管理。下述实施例中的扫描方法和装置,将基于该应用场景进行介绍。
[0031] 请参阅图2,图2是本申请一实施例提供的一种Hive表扫描方法的示意流程图。具体地,如图2所示,该扫描方法包括步骤S101~S104。
[0032] S101、获取Hive表的更新时间信息,其中所述更新时间信息包括所述Hive表的更新周期。
[0033] 其中,Hive表的更新时间信息是指与该Hive表更新相关的时间信息,比如Hive表的更新周期以及每次更新时对应的更新时长等。
[0034] 在本实施例中,所述更新时间信息包括所述Hive表的更新周期。比如,Hive表为一天更新一次,则对应的更新周期为1天;Hive表为每三天更新一次,则对应的更新周期为3天。
[0035] 其中,Hive是基于Hadoop的数据仓库平台工具,可以将结构化的数据文件映射为一张数据库表,即Hive表,其支持类似SQL的结构化查询功能。开发Hive的初衷就是让那些熟悉SQL编程方式的人也可以更好的利用Hadoop,Hive可以让数据分析人员只关注于具体业务模型,而不需要深入了解MapReduce的编程细节,依赖HDFS存储数据以及依赖MapReduce处理并管理数据。随着数据量的增长,Hive表中的行数量级也随之增长,比如万维Hive表可能包括十亿行数量级,因此Hive表具有不同的更新周期以及更新时长。
[0036] S102、根据预设对应规则确定所述更新周期对应的更新周期等级。
[0037] 在本实施例中,该更新周期等级可以分为更新周期等级I、更新周期等级II和更新周期等级III等。当然可以分为其他等级,在此不做限定。
[0038] 其中,该预设对应规则为预设的Hive表的更新周期与所述更新周期等级的对应关系,比如更新周期为1至3天对应更新周期等级Ⅰ、更新周期为3天至6天为更新周期等级Ⅱ和更新周期为6天以上对应更新周期等级Ⅲ。
[0039] 因此,可根据该预设对应规则确定所述更新周期对应的更新周期等级。比如,获取的Hive表的更新周期为3天,则可以根据该预设对应规则确定该更新周期等级为等级I。
[0040] S103、根据所述更新周期等级与预设扫描规则之间的预设对应关系表确定所述更新周期对应的目标扫描规则。
[0041] 在本实施例中,该预设对应关系表为不同的更新周期等级对应不同的预设扫描规则的关系表,该预设对应关系表为预先设置好的。比如更新周期等级I、更新周期等级II和更新周期等级III等,而相应的预设扫描规则包括预设扫描规则a、预设扫描规则b和预设扫描规则c,该预设对应关系表可用表1中的更新周期等级与预设扫描规则表示。
[0042]序号 更新周期等级 预设扫描规则
1 更新周期等级Ⅰ 预设扫描规则a
2 更新周期等级Ⅱ 预设扫描规则b
3 更新周期等级Ⅲ 预设扫描规则c
[0043] 表1为预设对应关系表
[0044] 其中,该预设扫描规则a、预设扫描规则b和预设扫描规则c的对应的扫描方式不同,比如预设扫描规则a为分批扫描方式,预设扫描规则b和预设扫描规则c为一次性扫描等;或者预设扫描规则a、预设扫描规则b和预设扫描规则c均为分批扫描方式,但每次扫描的行数不同,如扫描规则a为分批扫描且每次扫描20000行,而预设扫描规则b分批扫描且每次扫描20000行。
[0045] 比如,预设扫描规则a具体为每天扫描20000行,预设扫描规则b具体为每天扫描80000行,预设扫描规则c为一次性全部扫描完。因为更新周期等级I对应更新周期较短,因此Hive表的内容变化较少,所以可以以每天扫描较少的方式;更新周期等级III的更新周期较长,因此内容变化较大,所以可以一次性全部扫描的方式。
[0046] 具体地,该预设对应关系表用于确定所述Hive表的更新周期对应的目标扫描规则。比如,Hive表的更新周期对应更新周期等级Ⅰ,那么根据该预设对应关系表就可以确定更新周期等级Ⅰ对应的目标扫描规则为预设扫描规则a。
[0047] S104、根据所述目标扫描规则对所述Hive表进行扫描统计。
[0048] 在本实施例中,比如在上述步骤中已确定预设扫描规则a为该目标扫描规则,则可以根据该预设扫描规则a对应的具体的扫描方式对Hive表进行扫描统计。由于Hive表的更新周期不同,Hive表内的字段内容变化也不相同,因此该扫描方法在根据更新周期确定使用不同的预设扫描规则进行扫描,相对于现有的只采用一次性全部扫描的方式,由此可以提高扫描效率。
[0049] 具体地,由于Hive时借助Hadoop平台实现对数据库的大量数据进行管理的,具体如图1中的应用场景。因此,根据所述目标扫描规则对所述Hive表进行扫描统计,包括子步骤S104a至S104c,如图3所示。
[0050] S104a、将所述目标扫描规则转换成HQL扫描统计语句;S104b、根据所述HQL扫描统计语句生成MapReduce执行任务;S104c、基于Hadoop执行所述MapReduce执行任务以完成对Hive表的扫描统计。
[0051] 具体地,由于Hive是建立在Hadoop之上的数据仓库,需要将目标扫描规则转换成HQL扫描统计语句,将该HQL扫描统计语句发送至Hadoop平台,由Hadoop平台根据该HQL扫描统计语句生成MapReduce执行任务,再由该Hadoop根据所述MapReduce执行任务对所述数据库进行扫描统计以完成对Hive表的扫描统计。
[0052] 上述实施例通过获取Hive表的更新时间信息,其中所述更新时间信息包括所述Hive表的更新周期;根据预设对应规则确定所述更新周期对应的更新周期等级;根据所述更新周期等级与预设扫描规则之间的预设对应关系表确定所述更新周期对应的目标扫描规则;以及根据所述目标扫描规则对所述Hive表进行扫描统计。该方法考虑到Hive的更新周期,根据不同的更新周期确定使用不同的预设扫描规则作为目标扫描规则进行扫描统计,由此提高了Hive表的扫描统计效率,进而为用户节省了大量的时间。
[0053] 请参阅图4,图4是本申请另一实施例提供的一种Hive表扫描方法的示意流程图。该扫描方法可运行在服务器中,该服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。如图4所示,该扫描方法包括步骤S201~S208。
[0054] S201、获取所述Hive表的行数信息。
[0055] 在本实施例中,所述Hive表的行数信息是指该Hive的包括多少行数据,比如Hive表包括1亿行数据或10亿行数据,该1亿行和10亿行即为所述Hive表的行数信息。
[0056] S202、根据所述行数信息确定相应的预设时长阈值。
[0057] 在本实施例中,对于相同的主机配置,不同的行数信息需要不同的扫描时间,因此扫描具有不同行数信息的Hive表,也对应着不同的预设时长阈值。该预设时长阈值可以根据历史扫描记录进行设定,比如根据历史扫描统计显示扫描1亿行需要1天时间,那么该预设时长阈值就可以设为1天时长。
[0058] S203、获取Hive表的更新时间信息,其中所述更新时间信息包括所述Hive表的更新周期和更新时长。
[0059] 在本实施例中,Hive表的更新时间信息是指与该Hive表更新相关的时间信息。比如,Hive表为一天更新一次,则对应的更新周期为1天;Hive表为每三天更新一次,则对应的更新周期为3天。更新时长为每次更新时所花费的时间,比如扫描一次需要20个小时,该20个小时即为更新时长。
[0060] S204、根据预设对应规则确定所述更新周期对应的更新周期等级。
[0061] 在本实施例中,该更新周期等级可以分为更新周期等级I、更新周期等级II和更新周期等级III等。当然可以分为其他等级,在此不做限定。
[0062] 其中,该预设对应规则为预设的Hive表的更新周期与所述更新周期等级的对应关系,比如更新周期为1至3天对应更新周期等级Ⅰ、更新周期为3天至6天为更新周期等级Ⅱ和更新周期为6天以上对应更新周期等级Ⅲ。
[0063] 因此,可根据该预设对应规则确定所述更新周期对应的更新周期等级。比如,获取的Hive表的更新周期为3天,则可以根据该预设对应规则确定该更新周期等级为等级I。
[0064] S205、根据所述更新周期等级与预设扫描规则之间的预设对应关系表确定所述更新周期对应的目标扫描规则。
[0065] 在本实施例中,该预设对应关系表为不同的更新周期等级对应不同的预设扫描规则的关系表,该预设对应关系表为预先设置好的。比如更新周期等级I、更新周期等级II和更新周期等级III等,而相应的预设扫描规则包括预设扫描规则a、预设扫描规则b和预设扫描规则c。该预设对应关系表记录着三个预设扫描规则与三个更新周期等级一一对应关系。
[0066] 具体地,该预设对应关系表用于确定所述Hive表的更新周期对应的目标扫描规则。比如,Hive表的更新周期对应更新周期等级Ⅰ,那么根据该预设对应关系表就可以确定更新周期等级Ⅰ对应的目标扫描规则为预设扫描规则a。
[0067] S206、判断所述更新时长是否大于所述预设时长阈值。
[0068] 在本实施例中,判断所述更新时长是否大于所述预设时长阈值,产生两种判断结果;若所述更新时长大于所述预设时长阈值,则执行步骤S207;若所述更新时长不大于所述预设时长阈值,则执行步骤S208。
[0069] S207、按照预设调整规则调整所述目标扫描规则以及根据所述调整后的所述目标扫描规则对所述Hive表进行扫描统计。
[0070] 在本实施例中,如果该Hive的更新时长大于所述预设时长阈值,说明最近可能产生大量的数据,因此增加了更新内容因此造成更新时长较大,会产生大量的数据需要统计管理,必然会造成Hive表的行数变化以及字段的内容变化较大,因此不能只考虑Hive表的更新周期,还需要调整该目标扫描规则。
[0071] 具体地,所述按照预设调整规则调整所述目标扫描规则,包括:更换预设扫描规则,比如由预设扫描规则a更换预设扫描规则b,具体地,预设扫描规则a为每天扫描两批每批扫描20000行,而预设扫描规则b为每天扫描三批每批扫描30000行,因为更新时长较大,内容较多,因此需要将扫描规则由预设扫描规则a更换预设扫描规则b以便快速完成扫描。;或者直接调整预设扫描规则,比如调整预设扫描规则a扫描方式,增加每批扫描的行数,如从每批扫描20000行增加每批扫描30000行。
[0072] S208、根据所述目标扫描规则对所述Hive表进行扫描统计。
[0073] 在本实施例中,比如在上述步骤中已确定预设扫描规则a为该目标扫描规则,则可以根据该预设扫描规则a对应的具体的扫描方式对Hive表进行扫描统计。
[0074] 此外,为了方便扫描统计,提高扫描统计的效率。在执行该Hive表扫描方法之前,还包括:获取需要加载到Hive表中的待加载数据;采用预设处理规则对所述待加载数据进行处理,以及将处理后的待加载数据加载到Hive表中。
[0075] 其中,该待加载数据可以为产险系统平台上产生的所有网络数据,比如客户行为数据、登录信息数据、客户购买行为数据或问卷调查数据等等,还包括线下数据等,这些数据保存在数据库。为了方便快捷地管理这些数据,需借助Hadoop和Hive工具进行管理,Hive工具借助Hadoop将所述待加载数据加载到Hive表中。在加载之前还对需对该待加载数据进行处理,具体采用预设处理规则对所述待加载数据进行处理,比如对所述待加载数据进行压缩处理以提高加载效率,方便日后的扫描统计。当然,还可包括对该待加载数据进行冗余处理等,在此不做详细介绍。
[0076] 具体地,所述压缩处理包括采用预设压缩算法对该待加载数据进行压缩处理,其中预设压缩算法包括:位填充压缩算法BitPacking Compression,字典压缩算法Dictionary Compression,运行长度压缩算法Run Length Compression,变量增量压缩算法Delta Compression,以及由这几种算法生成的组合算法。
[0077] 上述实施例通过获取Hive表的更新时间信息,其中所述更新时间信息包括所述Hive表的更新周期和更新时长;根据预设对应规则确定所述更新周期对应的更新周期等级;根据所述更新周期等级与预设扫描规则之间的预设对应关系表确定所述更新周期对应的目标扫描规则;若所述更新时长大于所述预设时长阈值,按照预设调整规则调整所述目标扫描规则以及根据所述调整后的所述目标扫描规则对所述Hive表进行扫描统计;或者,若所述更新时长不大于所述预设时长阈值,根据所述目标扫描规则对所述Hive表进行扫描统计。该方法考虑到Hive的更新周期和更新时长,由此进一步地提高了Hive表的扫描统计效率,进而为用户节省了大量的时间。
[0078] 请参阅图5,图5是本申请实施例提供的一种Hive表扫描装置的示意性框图。该Hive表扫描装置400可以安装于服务器中。如图5所示,该Hive表扫描装置400包括:时间获取单元401、等级确定单元402、规则确定单元403和扫描统计单元404。
[0079] 时间获取单元401,用于获取Hive表的更新时间信息,其中所述更新时间信息包括所述Hive表的更新周期。
[0080] 等级确定单元402,用于根据预设对应规则确定所述更新周期对应的更新周期等级。
[0081] 规则确定单元403,用于根据所述更新周期等级与预设扫描规则之间的预设对应关系表确定所述更新周期对应的目标扫描规则。
[0082] 扫描统计单元404,用于根据所述目标扫描规则对所述Hive表进行扫描统计。
[0083] 其中,该扫描统计单元404,包括:语句转换子单元4041、任务生成子单元4042和任务执行子单元4043。
[0084] 具体地,语句转换子单元4041,用于将所述目标扫描规则转换成HQL扫描统计语句;任务生成子单元4042,用于根据所述HQL扫描统计语句生成MapReduce执行任务;任务执行子单元4043,用于基于Hadoop执行所述MapReduce执行任务以完成对Hive表的扫描统计。
[0085] 请参阅图6,图6是本申请实施例提供的一种Hive表扫描装置的示意性框图。该Hive表扫描装置500可以安装于服务器中。如图5所示,该Hive表扫描装置500包括:行数获取单元501、阈值确定单元502、时间获取单元503、等级确定单元504、规则确定单元505、阈值判断单元506、调整扫描单元507和扫描统计单元508。
[0086] 行数获取单元501,用于获取所述Hive表的行数信息。
[0087] 阈值确定单元502,用于根据所述行数信息确定相应的预设时长阈值。
[0088] 时间获取单元503,用于获取Hive表的更新时间信息,其中所述更新时间信息包括所述Hive表的更新周期和更新时长。
[0089] 等级确定单元504,用于根据预设对应规则确定所述更新周期对应的更新周期等级。
[0090] 规则确定单元505,用于根据所述更新周期等级与预设扫描规则之间的预设对应关系表确定所述更新周期对应的目标扫描规则。
[0091] 阈值判断单元506,用于判断所述更新时长是否大于所述预设时长阈值。
[0092] 调整扫描单元507,用于若所述更新时长大于所述预设时长阈值,按照预设调整规则调整所述目标扫描规则以及根据调整后的所述目标扫描规则对所述Hive表进行扫描统计。
[0093] 扫描统计单元508,用于若所述更新时长不大于所述预设时长阈值,根据所述目标扫描规则对所述Hive表进行扫描统计。
[0094] 所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的Hive表扫描装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0095] 在本申请所提供的几个实施例中,应该理解到,所揭露的Hive表扫描装置和方法,可以通过其它的方式实现。例如,以上所描述的Hive表扫描装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
[0096] 上述Hive表扫描装置可以实现为一种计算机程序的形式,计算机程序可以在如图7所示的计算机设备上运行。
[0097] 请参阅图7,图7是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备700设备可以是终端或服务器。
[0098] 参照图7,该计算机设备700包括通过系统总线710连接的处理器720、存储器和网络接口750,其中,存储器可以包括非易失性存储介质730和内存储器740。
[0099] 该非易失性存储介质730可存储操作系统731和计算机程序732。该计算机程序732被执行时,可使得处理器720执行任意一种Hive表扫描方法。
[0100] 该处理器720用于提供计算和控制能力,支撑整个计算机设备700的运行。
[0101] 该内存储器740为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器720执行时,可使得处理器720执行任意一种Hive表扫描方法。
[0102] 该网络接口750用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备700的限定,具体的计算机设备700可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0103] 其中,所述处理器720用于运行存储在存储器中的程序代码,以实现如下步骤:
[0104] 获取Hive表的更新时间信息,其中所述更新时间信息包括所述Hive表的更新周期;
[0105] 根据预设对应规则确定所述更新周期对应的更新周期等级;
[0106] 根据所述更新周期等级与预设扫描规则之间的预设对应关系表确定所述更新周期对应的目标扫描规则;以及
[0107] 根据所述目标扫描规则对所述Hive表进行扫描统计。
[0108] 在一实施例中,处理器720在执行所述获取Hive表的更新时间信息之前,还执行如下步骤:
[0109] 获取需要加载到Hive表中的待加载数据;
[0110] 采用预设处理规则对所述待加载数据进行处理。
[0111] 在一实施例中,处理器720在执行所述采用预设处理规则对所述待加载数据进行处理时,具体执行如下步骤:对所述待加载数据进行压缩处理。
[0112] 在另一实施例中,所述处理器720用于运行存储在存储器中的程序代码,以实现如下步骤:
[0113] 获取所述Hive表的行数信息;以及
[0114] 根据所述行数信息确定相应的预设时长阈值;
[0115] 获取Hive表的更新时间信息,其中所述更新时间信息包括所述Hive表的更新周期;
[0116] 根据预设对应规则确定所述更新周期对应的更新周期等级;
[0117] 根据所述更新周期等级与预设扫描规则之间的预设对应关系表确定所述更新周期对应的目标扫描规则;
[0118] 判断所述更新时长是否大于所述预设时长阈值;
[0119] 若所述更新时长大于所述预设时长阈值,按照预设调整规则调整所述目标扫描规则以及根据调整后的所述目标扫描规则对所述Hive表进行扫描统计;
[0120] 若所述更新时长不大于所述预设时长阈值,根据所述目标扫描规则对所述Hive表进行扫描统计。
[0121] 应当理解,在本申请实施例中,处理器720可以是中央处理单元(Central ProcessingUnit,CPU),该处理器720还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0122] 本领域技术人员可以理解,图7中示出的计算机设备700结构并不构成对计算机设备700的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0123] 本领域普通技术人员可以理解的是实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,程序可存储于一存储介质中,该存储介质为计算机可读存储介质。如本发明实施例中,该程序可存储于计算机系统的存储介质中,并被该计算机系统中的至少一个处理器执行,以实现包括如上述各方法的实施例的流程步骤。
[0124] 该计算机可读存储介质可以是磁碟、光盘、U盘、移动硬盘、随机存储记忆体(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0125] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0126] 本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
[0127] 本申请实施例装置中的单元可以根据实际需要进行合并、划分和删减。
[0128] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0129] 该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
[0130] 以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。