一种基于HDFS系统的文件合并方法及装置制造方法及图纸

技术编号:15638701 阅读:67 留言:0更新日期:2017-06-15 18:54
本发明专利技术提供了一种基于HDFS系统的文件合并方法及装置,涉及数据处理领域,通过更新映射关系的方式,而非将合并后文件回写到原集合中,从而省去了回写步骤,精简了合并流程,提高了合并效率;而且,本申请保留有待合并文件和合并后文件,提升了系统的容错性。该方法包括:根据预设的生成待合并文件的时间区间,以及所述时间区间与包括所述待合并文件的待合并集合的映射关系,确定所述待合并集合;合并确定的待合并集合中的待合并文件,并存储至合并后集合中;将所述映射关系更新为所述时间区间与所述合并后集合的映射关系。

【技术实现步骤摘要】
一种基于HDFS系统的文件合并方法及装置
本专利技术涉及数据处理领域,尤其涉及一种基于HDFS系统的文件合并方法及装置。
技术介绍
HDFS(Hadoop分布式文件系统)为用于存储大数据的文件存储系统。SPARK集群由一个NameNode(名字服务节点)和若干个DataNode(数据存储节点)组成。其中,NameNode提供元数据服务,管理Block的分配,维护整个文件系统的目录树结构;DataNode则部署在SPARK集群中的其他服务器上,提供真正的数据存储服务。由于每个小文件都要在DataNode中占独立的数据块,因此,当海量的流式数据以小文件的形式存储到SPARK集群中时,将浪费大量的存储空间,且NameNode中也将存储这些流式数据的相关信息,增大了查询压力。为解决上述问题,现阶段的操作为,从默认数据块中读取前一天存储的文件,合并读取的文件,将合并后的文件存储到临时数据块,再从临时区块读取合并后的文件,将合并后的文件回写到默认数据块中,与此同时覆盖原来存储的文件。综上所述,根据现阶段的操作可知,对存储的所有数据至少要进行五步操作,流程由于对大量的小文件数据进行读写,将给HDFS系统造成很大的压力较为繁琐,而且若回写时出现故障,可能将导致存储的文件丢失,容错性较差。
技术实现思路
本专利技术实施例提供了一种基于HDFS系统的文件合并方法及装置,通过更新映射关系的方式,而非将合并后文件回写到原集合中,从而省去了回写步骤,精简了合并流程,提高合并的效率;由于本申请保留有待合并文件和合并后文件,也提升了系统的容错性。本专利技术实施例提供的一种基于HDFS系统的文件合并方法,包括:根据预设的生成待合并文件的时间区间,以及所述时间区间与包括所述待合并文件的待合并集合的映射关系,确定所述待合并集合;合并确定的待合并集合中的待合并文件,并将生成的合并后文件存储至合并后集合中;将所述映射关系更新为所述时间区间与所述合并后集合的映射关系。本专利技术实施例中,通过更新映射关系的方式,而非将合并后文件回写到原集合中,从而省去了回写步骤,精简了合并流程,提高了合并效率;而且,本申请保留有待合并文件和合并后文件,提升了系统的容错性。较佳地,该方法还包括:若所述待合并文件中小文件的占比不小于预设占比门限值,或者所述待合并文件中小文件的数量不小于预设数量门限值,或者所述映射关系中的文件集合为所述待合并集合,则对所述待合并文件进行合并操作;其中,所述小文件为所占空间小于预设门限值的文件,其中,所述预设门限值为根据所述数据存储节点的大小确定的。本专利技术实施例中,通过比较小文件的占比或者数量,或者通过映射关系中的文件集合是否为待合并集合的方式,来确定是否需要对待合并文件进行合并操作,尽可能最大化利用Spark集群的计算核资源,提升合并效率。较佳地,该方法还包括:合并确定的待合并集合中的待合并文件,包括:根据Spark集群的计算核的数目,确定读取所述待合并文件的分区的个数;根据确定的分区的个数,对所述待合并文件进行读取;分别针对每一分区中的待合并文件执行并发合并操作。本专利技术实施例中,根据Spark集群的计算核的数量,确定读取待合并文件的分区的个数,并调用Repartition函数对所述待合并文件进行读取,调用Executor函数对每一分区中待合并文件执行合并操作,从而实现每一计算核至少对应一个分区,即通过多个进程同时对待合并文件读取与合并,提升读取与合并效率,提高了Spark集群的计算资源的利用率。较佳地,所述时间区间为以小时为单位划分得到的。本专利技术实施例中,将存储映射关系的HIVE表(基于Hadoop的数据仓库工具)的分区细化到以小时为单位,从而解决了现有技术中以天为单位进行分区导致的合并文件延迟的问题。较佳地,该方法还包括:检测所述映射关系是否为所述时间区间与所述合并后集合的映射关系;若是,则删除所述待合并文件。本专利技术实施例中,通过删除待合并集合的数据文件,释放存储空间,使得HDFS系统的存储利用率最大化。本专利技术实施例提供的一种基于HDFS系统的文件合并装置,包括:读取模块,用于根据预设的生成待合并文件的时间区间,以及所述时间区间与包括所述待合并文件的待合并集合的映射关系,确定所述待合并集合;合并模块,用于合并确定的待合并集合中的待合并文件,并将生成的合并后文件存储至合并后集合中;更新模块,用于将所述映射关系更新为所述时间区间与所述合并后集合的映射关系。本专利技术实施例中,通过更新映射关系的方式,而非将合并后文件回写到原集合中,从而省去了回写步骤,精简了合并流程,提高了合并效率;而且,本申请保留有待合并文件和合并后文件,提升了系统的容错性。较佳地,所述合并模块还用于:若所述待合并文件中小文件的占比不小于预设占比门限值,或者所述待合并文件中小文件的数量不小于预设数量门限值,或者所述映射关系中的文件集合为所述待合并集合,则对所述待合并文件进行合并操作;其中,所述小文件为所占空间小于预设门限值的文件,其中,所述预设门限值为根据所述数据存储节点的大小确定的。本专利技术实施例中,通过比较小文件的占比或者数量,或者通过映射关系中的文件集合是否为待合并集合的方式,来确定是否需要对待合并文件进行合并操作,尽可能最大化利用Spark集群的计算核资源,提升合并效率。较佳地,所述合并模块还用于:确定读取所述待合并文件的分区的个数,其中,所述分区的个数为根据Spark集群的计算核的数目确定的;根据确定的分区的个数,对所述待合并文件进行读取;分别针对每一分区中的待合并文件执行并发合并操作。本专利技术实施例中,根据Spark集群的计算核的数量,确定读取待合并文件的分区的个数,并调用Repartition函数对所述待合并文件进行读取,调用Executor函数对每一分区中待合并文件执行合并操作,从而实现每一计算核至少对应一个分区,即通过多个进程同时对待合并文件读取与合并,提升读取与合并效率,提高了Spark集群的计算资源的利用率。较佳地,所述时间区间为以小时为单位划分得到的。本专利技术实施例中,将存储映射关系的HIVE表(基于Hadoop的数据仓库工具)的分区细化到以小时为单位,从而解决了现有技术中以天为单位进行分区导致的合并文件延迟的问题。较佳地,所述更新模块还用于:检测所述映射关系是否为所述时间区间与所述合并后集合的映射关系;若是,则删除所述待合并文件。本专利技术实施例中,通过删除待合并集合的数据文件,释放存储空间,使得HDFS系统的存储利用率最大化。本专利技术实施例通过更新映射关系中所述时间区间对应的集合,而非将合并后文件回写到原集合中,从而省去了回写步骤,精简了合并流程,提高了合并效率;由于保留有待合并文件和合并后文件,也提升了系统的容错性;根据Spark集群的计算核的数量,确定读取待合并文件的分区的个数,并调用Repartition函数对所述待合并文件进行读取,调用Executor函数对每一分区中待合并文件执行合并操作,从而实现每一计算核至少对应一个分区,即通过多个进程同时对待合并文件读取与合并,提升读取与合并效率,提高了Spark集群的计算资源的利用率。附图说明图1为本专利技术实施例一提供的一种基于HDFS系统的文件合并方法的流程示意图;图2为本专利技术实施例二提供的一种基于HDFS系统本文档来自技高网...
一种基于HDFS系统的文件合并方法及装置

【技术保护点】
一种基于HDFS系统的文件合并方法,其特征在于,包括:根据预设的生成待合并文件的时间区间,以及所述时间区间与包括所述待合并文件的待合并集合的映射关系,确定所述待合并集合;合并确定的待合并集合中的待合并文件,并将生成的合并后文件存储至合并后集合中;将所述映射关系更新为所述时间区间与所述合并后集合的映射关系。

【技术特征摘要】
1.一种基于HDFS系统的文件合并方法,其特征在于,包括:根据预设的生成待合并文件的时间区间,以及所述时间区间与包括所述待合并文件的待合并集合的映射关系,确定所述待合并集合;合并确定的待合并集合中的待合并文件,并将生成的合并后文件存储至合并后集合中;将所述映射关系更新为所述时间区间与所述合并后集合的映射关系。2.根据权利要求1所述的方法,其特征在于,该方法还包括:若所述待合并文件中小文件的占比不小于预设占比门限值,或者所述待合并文件中小文件的数量不小于预设数量门限值,或者所述映射关系中的文件集合为所述待合并集合,则对所述待合并文件进行合并操作;其中,所述小文件为所占空间小于预设门限值的文件,其中,所述预设门限值为根据所述数据存储节点的大小确定的。3.根据权利要求1所述的方法,其特征在于,合并确定的待合并集合中的待合并文件,包括:根据Spark集群的计算核的数目,确定读取所述待合并文件的分区的个数;根据确定的分区的个数,对所述待合并文件进行读取;分别针对每一分区中的待合并文件执行并发合并操作。4.根据权利要求1所述的方法,其特征在于,所述时间区间为以小时为单位划分得到的。5.根据权利要求1所述的方法,其特征在于,该方法还包括:检测所述映射关系是否为所述时间区间与所述合并后集合的映射关系;若是,则删除所述待合并文件。6.一种基于HDFS系统的文件...

【专利技术属性】
技术研发人员:汪可袁帅
申请(专利权)人:北京神州绿盟信息安全科技股份有限公司北京神州绿盟科技有限公司
类型:发明
国别省市:北京,11

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

1