一种面向Spark‑Sql检索的元数据实时更新方法技术

技术编号:16644707 阅读:31 留言:0更新日期:2017-11-26 17:08
本发明专利技术涉及一种面向Spark‑Sql检索的元数据实时更新方法。该方法在Spark Sql进行检索时,会将使用的元数据进行缓存,将被检索的数据块文件元数据以集合的形式缓存于内存中;当获得文件元数据的增量信息时,将首先检查该增量信息所属的表的检索元数据是否存在于缓存之中,若存在,则将增量的文件元数据增加至缓存的该表文件元数据的集合之中,由此完成Spark Sql检索元数据的增量更新。本发明专利技术还提出了对Spark Sql检索元数据增加情况的处理方法,可以实时的对检索元数据的增加情况进行处理,提高检索结果的实时性。本发明专利技术可以避免对检索元数据进行经常性的全量更新,以减少更新元数据时的时间和资源开销。

A real-time update for Spark Sql metadata retrieval method

The invention relates to a real-time update for Spark Sql metadata retrieval method. The method of retrieval in Spark Sql, will use the metadata cache will be retrieved by the data block file metadata in the form set cache in memory; when the incremental information metadata of files, will first check the incremental information belonging to the table retrieval metadata exists in the cache, if there will be a collection of the table file metadata file metadata increment increased to cache, thereby completing the incremental Spark Sql retrieval metadata update. The invention also provides the Spark Sql metadata retrieval processing method can increase the real-time processing of metadata retrieval increases, improve the real-time search results. The present invention can avoid the regular full update of the retrieval metadata to reduce the time and resource overhead when updating metadata.

【技术实现步骤摘要】
一种面向Spark-Sql检索的元数据实时更新方法
本专利技术涉及一种面向SparkSql检索的元数据实时更新方法,可提高SparkSql检索海量数据时的结果实时性及运行性能,属于大数据处理领域。
技术介绍
随着计算机技术的不断发展和信息化程度的不断提高,数据量迅速增长,面向海量数据存储及应用也随之蓬勃发展。如,在网络安全上,使用大数据技术分析网络攻击行为;在电子商务上,使用大数据技术分析用户购物喜好或最受青睐的商品。大数据技术在建设节约型社会,提高生成效率等方面起到了积极的推动作用。在海量数据检索应用中,Apache基金会的分布式检索框架SparkSql提供了同Hive的HiveQL接口,其具有较高的效率及可用性,作为一种优秀的大数据检索方法,在该领域被广泛的使用。SparkSql中对检索中使用过的元数据进行了缓存,该缓存有效的提高了对相同数据进行多次查询时的效率,但也存在问题。当检索使用的元数据发生变化时,SparkSql框架会将原缓存全部弃用,重新加载全量的检索元数据,这在海量数据规模下会造成较大的时间和资源开销。在元数据经常变换的业务场景下,频繁更新检索元数据造成了SparkSql出现性能瓶颈,是使用SparkSql进行检索的一个关键问题。随着数据量的不断增加和大数据技术的不断发展,SparkSql的原生元数据更新方法出现性能瓶颈,其效率直接的影响了业务应用。
技术实现思路
为了解决上述SparkSql使用中所出现的关键问题,本专利技术的目的是提供一种面向SparkSql检索的元数据实时更新方法,能够有效的降低SparkSql检索进行元数据更新时的资源开销和时间开销,提高SparkSql检索时的效率和实时性。本专利技术采用的技术方案如下:一种面向SparkSql检索的元数据实时更新方法,包括以下步骤:1)在SparkSql进行检索时,将被检索的数据块的文件元数据以集合的形式进行缓存;2)当获得文件元数据的增量信息时,检查该增量信息所属的表的文件元数据是否存在于缓存之中,若存在,则将增量信息中的文件元数据增加至缓存的文件元数据的集合之中,从而完成SparkSql检索的文件元数据的增量更新。进一步地,步骤2)获得文件元数据的增量信息的方法是:在SparkSql框架启动时,同时启动一个附属的Http服务,用于监听和接收有关SparkSql文件元数据增加的请求,该请求中附带新增的文件元数据的信息。进一步地,当该Http服务接收到增加SparkSql文件元数据的Http请求后,从接收到的请求中解析出所要新增的文件元数据的信息。进一步地,在数据文件的加载过程中,记录加载行为对文件元数据所造成的变换。进一步地,在加载结束后,对文件元数据是否变化进行判断,若判断导致文件元数据出现了变化,则向所述Http服务发送相应的增加SparkSql文件元数据的请求,并附带上所记录的文件元数据的变化情况,以使被检索数据的文件元数据能够在数据文件加载过程中进行实时增量更新。本专利技术的有益效果如下:本专利技术的主要创新点是提出了一种面向SparkSql检索的元数据实时更新方法,该方法能够在数据文件加载过程中对SparkSql检索的元数据进行实时的增量更新,以提高SparkSql检索结果的实时性,并避免SparkSql由于检索元数据全量更新所带来的引发的性能瓶颈,提高了响应速度,符合当下大数据检索实际需求,在大数据处理领域具有很强的实用性和应用范围,具有很广泛的应用前景。附图说明图1为面向SparkSql的检索元数据增量更新流程图;图2为响应SparkSql检索元数据增加请求的Http服务流程图;图3为加载数据中实时更新检索元数据的流程图。具体实施方式为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图,对本专利技术做进一步说明。本专利技术提供的面向SparkSql检索的元数据实时更新方法,可以提高SparkSql检索数据的结果的实时性,并有效的降低元数据更新时的时间和资源开销,具体包括以下内容。本专利技术的第一方面,给出了面向SparkSql的检索元数据增量更新的方法,可以避免对检索元数据进行经常性的全量更新,以减少更新元数据时的时间和资源开销。在SparkSql进行检索时,会将使用的元数据进行缓存,将被检索的数据块文件元数据以集合的形式缓存于内存中。当获得文件元数据的增量信息时,将首先检查该增量信息所属的表的文件元数据是否存在于缓存之中(其中“表”是指逻辑上的关系,是一个主题的信息集合),若存在,则将增量的文件元数据增加至缓存的该表文件元数据的集合之中,由此完成SparkSql检索元数据的增量更新。本专利技术的第二个方面,给出了对SparkSql检索元数据增加情况的处理方法,可以实时的对检索元数据的增加情况进行处理,提高检索结果的实时性。该方法会在SparkSql框架启动时,同时启动一个附属的Http服务。该Http服务的目的是监听有关SparkSql文件元数据增加的请求,所接收到的请求中将会附带上新增的文件元数据的信息。当该Http服务接收到增加SparkSql元数据的Http请求后,会从接收到的请求中解析出所要新增的检索文件元数据的信息,并将该信息应用到本专利技术第一方面所述的SparkSql检索元数据的增量更新方法的实现之中。本专利技术的第三部分,提出了一种在进行被检索数据加载过程中的实时更新SparkSql检索元数据的方法,该方法可以避免因加载过程中检索元数据低实时性问题,并避免加载时的SparkSql的检索元数据频繁变换所导致的元数据更新性能瓶颈。在加载相关程序进行数据块的加载更新中,将记录加载行为对数据文件元数据所造成的变化(其中“变化”是指文件数量的增加和可能出现的文件名称的改变)。在加载结束后,将对文件元数据是否变化进行判断。若判断导致文件元数据出现了变化,则向本专利技术第二部分所述的Http服务发送相应的增加SparkSql中检索元数据的请求,并附带上所记录的文件元数据变化情况,以达到被检索数据的文件元数据能够在数据文件加载过程中实时增量更新的目的。图1给出了面向SparkSql的检索元数据增量更新的流程。在一实施例中,具体步骤如下:步骤101:在SparkSql中接收到新增的检索文件元数据信息。步骤102:根据得到的新增检索文件元数据信息中的表名等信息,读取SparkSql中存在的检索元数据缓存,判断该增量信息所属的表的检索元数据是否存在于缓存之中,若确实存在,则进入步骤103,否则退出该流程。步骤103:将新增的文件元数据增加到相应表的文件元数据缓存集合之中,完成SparkSql检索元数据的增量更新。图2给出了相应对SparkSql检索元数据增加请求的方法。在一实施例中,具体步骤如下:步骤201:在SparkSql框架启动时,同时启动一个附属的Http服务,该Http服务将监听有关文件元数据新增的请求。步骤202:步骤201中所述的Http服务接收到对SparkSql文件元数据增量更新的请求。将新增的文件元数据信息由Http请求中解析得到,之后将该新增文件元数据信息应用于图一所述的SparkSql检索元数据增量更新流程中,完成对SparkSql的文件元数据增量更新。图3给出了在加载数据过程中能够实时更新SparkSq本文档来自技高网...
一种<a href="http://www.xjishu.com/zhuanli/55/201710422553.html" title="一种面向Spark‑Sql检索的元数据实时更新方法原文来自X技术">面向Spark‑Sql检索的元数据实时更新方法</a>

【技术保护点】
一种面向Spark Sql检索的元数据实时更新方法,其特征在于,包括以下步骤:1)在Spark Sql进行检索时,将被检索的数据块的文件元数据以集合的形式进行缓存;2)当获得文件元数据的增量信息时,检查该增量信息所属的表的文件元数据是否存在于缓存之中,若存在,则将增量信息中的文件元数据增加至缓存的文件元数据的集合之中,从而完成Spark Sql检索的文件元数据的增量更新。

【技术特征摘要】
1.一种面向SparkSql检索的元数据实时更新方法,其特征在于,包括以下步骤:1)在SparkSql进行检索时,将被检索的数据块的文件元数据以集合的形式进行缓存;2)当获得文件元数据的增量信息时,检查该增量信息所属的表的文件元数据是否存在于缓存之中,若存在,则将增量信息中的文件元数据增加至缓存的文件元数据的集合之中,从而完成SparkSql检索的文件元数据的增量更新。2.如权利要求1所述的方法,其特征在于,步骤2)获得文件元数据的增量信息的方法是:在SparkSql框架启动时,同时启动一个附属的Http服务,用于监听和接收有关SparkSql文件元数据增加的请求,该请求中附带新增的文件元数据的信息。3.如权利要求2所述的方法,其特征在于,当该Http服务接收到增加SparkSq...

【专利技术属性】
技术研发人员:李斌斌王树鹏王振宇张磊
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:北京,11

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

1