CN105653592A - 一种基于hdfs的小文件合并工具和方法 - Google Patents

一种基于hdfs的小文件合并工具和方法 Download PDF

Info

Publication number
CN105653592A
CN105653592A CN201510969396.5A CN201510969396A CN105653592A CN 105653592 A CN105653592 A CN 105653592A CN 201510969396 A CN201510969396 A CN 201510969396A CN 105653592 A CN105653592 A CN 105653592A
Authority
CN
China
Prior art keywords
small documents
file
data file
catalogue
stored
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201510969396.5A
Other languages
English (en)
Inventor
杨胜华
王传超
崔乐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Software Group Co Ltd
Original Assignee
Inspur Software Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Software Group Co Ltd filed Critical Inspur Software Group Co Ltd
Priority to CN201510969396.5A priority Critical patent/CN105653592A/zh
Publication of CN105653592A publication Critical patent/CN105653592A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种基于HDFS的小文件合并工具和方法,应用于集群中能够与HDFS包含的各个节点交互信息的服务器,包括:设置单元,用于设置小文件合并规则;生成目录单元,用于确定目录参数,并根据目录参数,生成输入/输出目录;传输单元,用于设置小文件阈值,并根据小文件阈值,确定外设的各个节点中的小文件,并将确定的小文件存储到生成目录单元生成的输入目录中;读取合并单元,用于遍历输入目录,并读取输入目录中符合设置单元设置的合并规则的至少两个小文件,将至少两个小文件合并为至少一个数据文件,并将至少一个数据文件存储到生成目录单元生成的输出目录中,能够有效的提高文件处理的效率。

Description

一种基于HDFS的小文件合并工具和方法
技术领域
本发明涉及计算机应用技术领域,特别涉及一种基于HDFS的小文件合并工具和方法。
背景技术
分布式文件系统(Hadoop,HDFS)由一个NameNode和若干个DataNode组成,是集群的重要组成部分,凭借其可靠、高效、可伸缩的特性在大规模计算领域得到了广泛应用。由于NameNode把文件系统的元数据放置在内存的block中,虽然每一个小文件的大小远远小于一个block的大小,但是,每一个小文件均需占用一个block,每个block的存储约占150byte,那么,如果有10000000个小文件,则namenode大约需要2G内存空间。如果存储1亿个文件,则namenode需要20G内存空间,同时,HDFS对小文件的访问过程,需要不断的从一个小文件跳转到另外一个小文件,那么,随着HDFS中存储的小文件数量的增加,导致文件处理的效率降低。
发明内容
本发明提供一种基于HDFS的小文件合并工具和方法,能够有效的提高文件处理的效率。
一种基于HDFS的小文件合并工具,应用于集群中能够与HDFS包含的各个节点交互信息的服务器,包括:
设置单元,用于设置小文件合并规则;
生成目录单元,用于确定目录参数,并根据所述目录参数,生成输入/输出目录;
传输单元,用于设置小文件阈值,并根据所述小文件阈值,确定所述外设的各个节点中的小文件,并将确定的小文件存储到所述生成目录单元生成的所述输入目录中;
读取合并单元,用于遍历所述输入目录,并读取所述输入目录中符合所述设置单元设置的合并规则的至少两个小文件,将所述至少两个小文件合并为至少一个数据文件,并将所述至少一个数据文件存储到所述生成目录单元生成的输出目录中。
优选地,所述设置单元,进一步用于设定合并时间周期;
所述读取合并单元,用于当达到所述设置单元设定的合并时间周期时,执行所述遍历所述输入目录,并读取所述输入目录中符合所述设置单元设置的合并规则的至少两个小文件。
优选地,该小文件合并工具,进一步包括:添加单元,其中,
所述添加单元,用于为所述传输单元确定的小文件中的每一条目标数据添加字符识别码;
所述传输单元,用于将所述包含所述字符识别码的小文件存储到所述生成目录单元生成的所述输入目录中;
所述读取合并单元,用于识别所述至少两个小文件中的每一条数据,将具有所述字符识别码的每一条目标数据合并到至少一个数据文件,并将所述至少一个数据文件存储到所述生成目录单元生成的输出目录中。
优选地,小文件合并工具,进一步包括:验证单元,其中,
所述读取合并单元,进一步用于当所述至少两个小文件中的目标数据完全合并到所述至少一个数据文件中时,为所述至少一个数据文件生成对应的part_000.txt文件和_success.txt文件;
所述验证单元,用于验证所述读取合并单元合并的至少一个数据文件中当前数据文件是否具有对应的part_000.txt文件和_success.txt文件,如果是,则确定所述当前数据文件合并成功,并将所述该当前数据文件对应的所述外设的各个节点中的小文件删除。
优选地,所述传输单元,用于:
为所述外设的各个节点传输系统文件,设置小文件阈值5s和2M,当当前系统文件传输时间小于5s时,确定该当前系统文件为小文件,或者,当当前系统文件大小小于2M时,确定该当前系统文件为小文件。
一种基于HDFS的小文件合并方法,应用于集群中能够与HDFS包含的各个节点交互信息的服务器,包括:
设置小文件合并规则和小文件阈值;
确定目录参数,并根据所述目录参数,生成输入/输出目录;
根据所述小文件阈值,确定所述各个节点中的小文件,并将确定的小文件存储到所述输入目录中;
遍历所述输入目录,并读取所述输入目录中符合所述合并规则的至少两个小文件,将所述至少两个小文件合并为至少一个数据文件,并将所述至少一个数据文件存储到所述输出目录中。
优选地,该方法进一步包括:设定合并时间周期;
所述遍历所述输入目录,包括:当达到所述合并时间周期时,执行所述遍历所述输入目录。
优选地,所述小文件阈值为5s和2M;
所述确定所述各个节点中的小文件,包括:为所述各个节点传输系统文件,当当前系统文件传输时间小于5s时,确定该当前系统文件为小文件,或者,当当前系统文件大小小于2M时,确定该当前系统文件为小文件。
优选地,在所述确定所述各个节点中的小文件之后,在所述将确定的小文件存储到所述输入目录中之前,进一步包括:为所述小文件中的每一条目标数据添加字符识别码;
所述将确定的小文件存储到所述输入目录中,包括:将所述包含所述字符识别码的小文件存储到所述输入目录中。
优选地,在所述读取所述输入目录中符合所述合并规则的至少两个小文件之后,在所述将所述至少两个小文件合并为至少一个数据文件之前,包括:识别所述至少两个小文件中的每一条数据;
所述将所述至少两个小文件合并为至少一个数据文件,包括:将具有所述字符识别码的每一条目标数据合并到至少一个数据文件。
优选地,在所述将所述至少两个小文件合并为至少一个数据文件之后,在所述将所述至少一个数据文件存储到所述输出目录中之前,进一步包括:为所述至少一个数据文件生成对应的part_000.txt文件和_success.txt文件;
所述将所述至少一个数据文件存储到所述输出目录中,包括:将所述至少一个数据文件、对应的part_000.txt文件和_success.txt文件存储到所述输出目录中;
在所述将所述至少一个数据文件存储到所述输出目录中之后,进一步包括:验证所述至少一个数据文件中当前数据文件是否具有对应的part_000.txt文件和_success.txt文件,如果是,则确定所述当前数据文件合并成功,并将所述该当前数据文件对应的各个节点中的小文件删除。
本发明实施例提供了一种基于HDFS的小文件合并工具和方法,该小文件合并工具,应用于集群中能够与HDFS包含的各个节点交互信息的服务器,包括:设置单元,用于设置小文件合并规则,通过设置单元能够根据客户需求合并小文件;生成目录单元,用于确定目录参数,并根据所述目录参数,生成输入/输出目录,以为小文件和生成的数据文件指定存储目录,方便对于小文件和数据文件的查找和定位;传输单元,用于设置小文件阈值,并根据所述小文件阈值,确定所述外设的各个节点中的小文件,并将确定的小文件存储到所述生成目录单元生成的所述输入目录中;读取合并单元,用于遍历所述输入目录,并读取所述输入目录中符合所述设置单元设置的合并规则的至少两个小文件,将所述至少两个小文件合并为至少一个数据文件,并将所述至少一个数据文件存储到所述生成目录单元生成的输出目录中,实现了将小文件合并,减少了小文件对节点内存的占用,同时,避免了访问小文件过程的频繁跳转,因此,能够有效地提高文件处理的效率。
附图说明
图1为本发明实施例提供的一种基于HDFS的小文件合并工具的结构示意图;
图2为本发明另一实施例提供的一种基于HDFS的小文件合并工具的结构示意图;
图3为本发明实施例提供的一种基于HDFS的小文件合并方法的流程图;
图4为本发明另一实施例提供的一种基于HDFS的小文件合并方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供一种基于HDFS的小文件合并工具,应用于集群中能够与HDFS包含的各个节点交互信息的服务器,包括:
设置单元101,用于设置小文件合并规则;
生成目录单元102,用于确定目录参数,并根据目录参数,生成输入/输出目录;
传输单元103,用于设置小文件阈值,并根据小文件阈值,确定外设的各个节点中的小文件,并将确定的小文件存储到生成目录单元102生成的所述输入目录中;
读取合并单元104,用于遍历输入目录,并读取输入目录中符合设置单元101设置的合并规则的至少两个小文件,将至少两个小文件合并为至少一个数据文件,并将至少一个数据文件存储到生成目录单元103生成的输出目录中。
在本发明另一实施例中,设置单元101,进一步用于设定合并时间周期;
读取合并单元104,用于当达到设置单元101设定的合并时间周期时,执行遍历输入目录,并读取输入目录中符合设置单元101设置的合并规则的至少两个小文件。
在本发明又一实施例中,上述小文件合并工具进一步包括:添加单元(图中未示出),其中,
添加单元,用于为传输单元103确定的小文件中的每一条目标数据添加字符识别码;
传输单元103,用于将包含字符识别码的小文件存储到生成目录单元102生成的输入目录中;
读取合并单元104,用于识别至少两个小文件中的每一条数据,将具有字符识别码的每一条目标数据合并到至少一个数据文件,并将至少一个数据文件存储到生成目录单元102生成的输出目录中。
如图2所示,在本发明另一实施例中,上述小文件合并工具,进一步包括:验证单元201,其中,
读取合并单元104,进一步用于当至少两个小文件中的目标数据完全合并到至少一个数据文件中时,为至少一个数据文件生成对应的part_000.txt文件和_success.txt文件;
验证单元201,用于验证读取合并单元104合并的至少一个数据文件中当前数据文件是否具有对应的part_000.txt文件和_success.txt文件,如果是,则确定当前数据文件合并成功,并将该当前数据文件对应的外设的各个节点中的小文件删除。
在本发明又一实施例中,传输单元103,用于为外设的各个节点传输系统文件,设置小文件阈值5s和2M,当当前系统文件传输时间小于5s时,确定该当前系统文件为小文件,或者,当当前系统文件大小小于2M时,确定该当前系统文件为小文件。
如图3所示,本发明实施例提供一种基于HDFS的小文件合并方法,应用于集群中能够与HDFS包含的各个节点交互信息的服务器,该方法可以包括如下步骤:
步骤301:设置小文件合并规则和小文件阈值;
步骤302:确定目录参数,并根据目录参数,生成输入/输出目录;
步骤303:根据小文件阈值,确定各个节点中的小文件,并将确定的小文件存储到输入目录中;
步骤304:遍历输入目录,并读取输入目录中符合合并规则的至少两个小文件;
步骤305:将至少两个小文件合并为至少一个数据文件,并将至少一个数据文件存储到输出目录中。
在本发明一个实施例中,为了使小文件合并能够自动完成,避免人工操作,该方法进一步包括:设定合并时间周期;步骤304中遍历输入目录的具体实施方式:当达到合并时间周期时,执行遍历输入目录。
在本发明一个实施例中,为了准确确定出所有的小文件,小文件阈值为5s和2M;步骤303中确定各个节点中的小文件的具体实施方式:为各个节点传输系统文件,当当前系统文件传输时间小于5s时,确定该当前系统文件为小文件,或者,当当前系统文件大小小于2M时,确定该当前系统文件为小文件。
在本发明一个实施例中,为了避免合并垃圾数据,在步骤303中,在确定各个节点中的小文件之后,在将确定的小文件存储到输入目录中之前,进一步包括:为小文件中的每一条目标数据添加字符识别码;将确定的小文件存储到所述输入目录中的具体实施方式:将包含字符识别码的小文件存储到输入目录中。
在本发明一个实施例中,进一步为了避免合并垃圾数据,在步骤304之后,在步骤305之前,进一步包括:识别至少两个小文件中的每一条数据;步骤305的具体实施方式:将具有字符识别码的每一条目标数据合并到至少一个数据文件。
在本发明一个实施例中,为了避免已经合并的小文件占用过多的节点内存,在步骤305中,在将至少两个小文件合并为至少一个数据文件之后,在将至少一个数据文件存储到输出目录中之前,进一步包括:为至少一个数据文件生成对应的part_000.txt文件和_success.txt文件;将至少一个数据文件存储到输出目录中的具体实施方式:将至少一个数据文件和对应的part_000.txt文件和_success.txt文件存储到输出目录中;在步骤305之后,进一步包括:验证至少一个数据文件中当前数据文件是否具有对应的part_000.txt文件和_success.txt文件,如果是,则确定当前数据文件合并成功,并将该当前数据文件对应的各个节点中的小文件删除。
如图4所示,本发明另一实施例提供一种基于HDFS的小文件合并方法,应用于集群中能够与HDFS包含的各个节点交互信息的服务器,该方法可以包括如下步骤:
步骤401:设置小文件合并规则、小文件阈值和合并时间周期;
例如:可以设置同一季度的小文件合并为一个大的数据文件,也可以按照小文件的分类进行合并,又或者设置同一天的小文件合并等等。小文件阈值主要是为了区分出大文件与小文件,例如:可以设置满足这两个条件中的任意一个条件即可确定为小文件,一个条件是大小小于2M,另一个条件是传送时间小于5s,即当一个文件大小为10KB,传送时间为10s时,该文件为小文件。在该步骤中,设置的时间周期主要是为了使合并过程能够自发进行,例如:可以设置每天的固定时间将这一天的小文件合并到一个数据文件中。
步骤402:确定目录参数,并根据目录参数,生成输入/输出目录;
例如:用户想要按照日期建立目录,那么,可以按日期生成输入、输出目录。
步骤403:根据小文件阈值,确定各个节点中的小文件;
在为各个节点传输系统文件的过程中,当当前系统文件传输时间小于5s时,确定该当前系统文件为小文件,或者,当当前系统文件大小小于2M时,确定该当前系统文件为小文件。
步骤404:为小文件中的每一条目标数据添加字符识别码;
小文件中可能包含有垃圾数据,也可能含有不止一条数据,为了辨认出有用的数据,在该步骤中,为有用的数据在数据头添加一串字符识别码,该字符识别码可以为8个字节的字符串。
步骤405:将包含字符识别码的小文件存储到输入目录中;
例如:在输入目录中包含一个以日期命名的文件夹,该文件夹名称2015.12.1,那么,2015.12.1这一天的小文件将被存储到该文件夹中。
步骤406:当达到合并时间周期时,遍历输入目录;
例如:设置每天下午三点进行合并,那么,当达到下午三点时,将对所有小文件按照合并规则进行合并。
步骤407:读取输入目录中符合合并规则的至少两个小文件;
步骤408:识别至少两个小文件中的每一条数据;
步骤409:将具有字符识别码的每一条目标数据合并到至少一个数据文件;
步骤410:为至少一个数据文件生成对应的part_000.txt文件和_success.txt文件;
步骤411:将至少一个数据文件、对应的part_000.txt文件和_success.txt文件存储到输出目录中;
步骤412:验证至少一个数据文件中当前数据文件是否具有对应的part_000.txt文件和_success.txt文件,如果是,则执行步骤413;否则,执行步骤414;
步骤413:确定当前数据文件合并成功,并将该当前数据文件对应的各个节点中的小文件删除,结束当前流程;
步骤414:发出当前数据文件未合并成功的提示,并保留当前数据文件对应的各个节点中的小文件。
本发明实施例提供的方案,至少能够达到如下有益效果:
1.该小文件合并工具,应用于集群中能够与HDFS包含的各个节点交互信息的服务器,包括:设置单元,用于设置小文件合并规则,通过设置单元能够根据客户需求合并小文件;生成目录单元,用于确定目录参数,并根据所述目录参数,生成输入/输出目录,以为小文件和生成的数据文件指定存储目录,方便对于小文件和数据文件的查找和定位;传输单元,用于设置小文件阈值,并根据所述小文件阈值,确定所述外设的各个节点中的小文件,并将确定的小文件存储到所述生成目录单元生成的所述输入目录中;读取合并单元,用于遍历所述输入目录,并读取所述输入目录中符合所述设置单元设置的合并规则的至少两个小文件,将所述至少两个小文件合并为至少一个数据文件,并将所述至少一个数据文件存储到所述生成目录单元生成的输出目录中,实现了将小文件合并,减少了小文件对节点内存的占用,同时,避免了访问小文件过程的频繁跳转,因此,能够有效地提高文件处理的效率。
2.在本发明实施例提供的小文件合并工具中,通过设置单元,进一步用于设定合并时间周期;读取合并单元,用于当达到设置单元设定的合并时间周期时,执行遍历输入目录,并读取输入目录中符合设置单元设置的合并规则的至少两个小文件,通过这两个单元实现了合并小文件的自动性,避免人工干预。
3.本发明实施例提供的小文件合并工具,还包括添加单元,通过添加单元为小文件中的每一条目标数据添加字符识别码;传输单元,将包含字符识别码的小文件存储到输入目录中;读取合并单元通过识别至少两个小文件中的每一条数据,将具有字符识别码的每一条目标数据合并到至少一个数据文件,并将至少一个数据文件存储到输出目录中,避免垃圾数据一同合并到数据文件中,有效地提高了合并的准确性。
4.在本发明实施例提供的小文件合并工具中,通过读取合并单元至少一个数据文件生成对应的part_000.txt文件和_success.txt文件,然后,通过验证单元验证至少一个数据文件中当前数据文件是否具有对应的part_000.txt文件和_success.txt文件,如果是,则确定当前数据文件合并成功,并将该当前数据文件对应的外设的各个节点中的小文件删除,通过该过程,一方面能够提高该合并的准确性,另一方面,能够避免小文件被误删,同时,通过删除小文件可以释放更多的节点内存,提高节点的运行效率。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个〃.....”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (10)

1.一种基于HDFS的小文件合并工具,其特征在于,应用于集群中能够与HDFS包含的各个节点交互信息的服务器,包括:
设置单元,用于设置小文件合并规则;
生成目录单元,用于确定目录参数,并根据所述目录参数,生成输入/输出目录;
传输单元,用于设置小文件阈值,并根据所述小文件阈值,确定所述外设的各个节点中的小文件,并将确定的小文件存储到所述生成目录单元生成的所述输入目录中;
读取合并单元,用于遍历所述输入目录,并读取所述输入目录中符合所述设置单元设置的合并规则的至少两个小文件,将所述至少两个小文件合并为至少一个数据文件,并将所述至少一个数据文件存储到所述生成目录单元生成的输出目录中。
2.根据权利要求1所述的小文件合并工具,其特征在于,
所述设置单元,进一步用于设定合并时间周期;
所述读取合并单元,用于当达到所述设置单元设定的合并时间周期时,执行所述遍历所述输入目录,并读取所述输入目录中符合所述设置单元设置的合并规则的至少两个小文件。
3.根据权利要求1所述的小文件合并工具,其特征在于,进一步包括:添加单元,其中,
所述添加单元,用于为所述传输单元确定的小文件中的每一条目标数据添加字符识别码;
所述传输单元,用于将所述包含所述字符识别码的小文件存储到所述生成目录单元生成的所述输入目录中;
所述读取合并单元,用于识别所述至少两个小文件中的每一条数据,将具有所述字符识别码的每一条目标数据合并到至少一个数据文件,并将所述至少一个数据文件存储到所述生成目录单元生成的输出目录中。
4.根据权利要求1所述的小文件合并工具,其特征在于,进一步包括:验证单元,其中,
所述读取合并单元,进一步用于当所述至少两个小文件中的目标数据完全合并到所述至少一个数据文件中时,为所述至少一个数据文件生成对应的part_000.txt文件和_success.txt文件;
所述验证单元,用于验证所述读取合并单元合并的至少一个数据文件中当前数据文件是否具有对应的part_000.txt文件和_success.txt文件,如果是,则确定所述当前数据文件合并成功,并将所述该当前数据文件对应的所述外设的各个节点中的小文件删除。
5.根据权利要求1所述的小文件合并工具,其特征在于,所述传输单元,用于:
为所述外设的各个节点传输系统文件,设置小文件阈值5s和2M,当当前系统文件传输时间小于5s时,确定该当前系统文件为小文件,或者,当当前系统文件大小小于2M时,确定该当前系统文件为小文件。
6.一种基于HDFS的小文件合并方法,其特征在于,应用于集群中能够与HDFS包含的各个节点交互信息的服务器,包括:
设置小文件合并规则和小文件阈值;
确定目录参数,并根据所述目录参数,生成输入/输出目录;
根据所述小文件阈值,确定所述各个节点中的小文件,并将确定的小文件存储到所述输入目录中;
遍历所述输入目录,并读取所述输入目录中符合所述合并规则的至少两个小文件,将所述至少两个小文件合并为至少一个数据文件,并将所述至少一个数据文件存储到所述输出目录中。
7.根据权利要求6所述的方法,其特征在于,
进一步包括:设定合并时间周期;
所述遍历所述输入目录,包括:当达到所述合并时间周期时,执行所述遍历所述输入目录;
和/或,
所述小文件阈值为5s和2M;
所述确定所述各个节点中的小文件,包括:为所述各个节点传输系统文件,当当前系统文件传输时间小于5s时,确定该当前系统文件为小文件,或者,当当前系统文件大小小于2M时,确定该当前系统文件为小文件。
8.根据权利要求6所述的方法,其特征在于,
在所述确定所述各个节点中的小文件之后,在所述将确定的小文件存储到所述输入目录中之前,进一步包括:为所述小文件中的每一条目标数据添加字符识别码;
所述将确定的小文件存储到所述输入目录中,包括:将所述包含所述字符识别码的小文件存储到所述输入目录中。
9.根据权利要求8所述的方法,其特征在于,
在所述读取所述输入目录中符合所述合并规则的至少两个小文件之后,在所述将所述至少两个小文件合并为至少一个数据文件之前,包括:识别所述至少两个小文件中的每一条数据;
所述将所述至少两个小文件合并为至少一个数据文件,包括:将具有所述字符识别码的每一条目标数据合并到至少一个数据文件。
10.根据权利要求6所述的方法,其特征在于,
在所述将所述至少两个小文件合并为至少一个数据文件之后,在所述将所述至少一个数据文件存储到所述输出目录中之前,进一步包括:为所述至少一个数据文件生成对应的part_000.txt文件和_success.txt文件;
所述将所述至少一个数据文件存储到所述输出目录中,包括:将所述至少一个数据文件、对应的part_000.txt文件和_success.txt文件存储到所述输出目录中;
在所述将所述至少一个数据文件存储到所述输出目录中之后,进一步包括:验证所述至少一个数据文件中当前数据文件是否具有对应的part_000.txt文件和_success.txt文件,如果是,则确定所述当前数据文件合并成功,并将所述该当前数据文件对应的各个节点中的小文件删除。
CN201510969396.5A 2016-01-28 2016-01-28 一种基于hdfs的小文件合并工具和方法 Pending CN105653592A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510969396.5A CN105653592A (zh) 2016-01-28 2016-01-28 一种基于hdfs的小文件合并工具和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510969396.5A CN105653592A (zh) 2016-01-28 2016-01-28 一种基于hdfs的小文件合并工具和方法

Publications (1)

Publication Number Publication Date
CN105653592A true CN105653592A (zh) 2016-06-08

Family

ID=56477647

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510969396.5A Pending CN105653592A (zh) 2016-01-28 2016-01-28 一种基于hdfs的小文件合并工具和方法

Country Status (1)

Country Link
CN (1) CN105653592A (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528451A (zh) * 2016-11-14 2017-03-22 哈尔滨工业大学(威海) 针对小文件的二级缓存预取的云存储框架及构建方法
CN106843763A (zh) * 2017-01-19 2017-06-13 北京神州绿盟信息安全科技股份有限公司 一种基于hdfs系统的文件合并方法及装置
CN107193940A (zh) * 2017-05-19 2017-09-22 成都四象联创科技有限公司 大数据优化分析方法
CN107679177A (zh) * 2017-09-29 2018-02-09 郑州云海信息技术有限公司 一种基于hdfs的小文件存储优化方法、装置、设备
CN107766067A (zh) * 2017-09-28 2018-03-06 福州瑞芯微电子股份有限公司 一种提升压缩镜像烧录速度的方法、存储介质及计算机
CN108614837A (zh) * 2016-12-13 2018-10-02 杭州海康威视数字技术股份有限公司 文件存储和检索的方法及装置
CN108958659A (zh) * 2018-06-29 2018-12-07 郑州云海信息技术有限公司 一种分布式存储系统的小文件聚合方法、装置及介质
CN109240999A (zh) * 2018-08-24 2019-01-18 浪潮电子信息产业股份有限公司 一种基于小文件的自动化聚合打包方法及系统
CN109597578A (zh) * 2018-12-03 2019-04-09 郑州云海信息技术有限公司 一种数据存储方法、系统、设备及计算机可读存储介质
CN109657009A (zh) * 2018-12-21 2019-04-19 北京锐安科技有限公司 数据预分区存储周期表创建方法、装置、设备和存储介质
CN109902067A (zh) * 2019-02-15 2019-06-18 杭州数梦工场科技有限公司 文件处理方法、装置、存储介质及计算机设备
CN110633261A (zh) * 2019-09-02 2019-12-31 恩亿科(北京)数据科技有限公司 一种图片存储方法、图片查询方法及装置
CN112231293A (zh) * 2020-09-14 2021-01-15 杭州数梦工场科技有限公司 文件读取方法、装置、电子设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5832525A (en) * 1996-06-24 1998-11-03 Sun Microsystems, Inc. Disk fragmentation reduction using file allocation tables
CN103577123A (zh) * 2013-11-12 2014-02-12 河海大学 一种基于hdfs的小文件优化存储方法
CN103678579A (zh) * 2013-12-12 2014-03-26 浪潮电子信息产业股份有限公司 一种小文件存储效率的优化方法
CN104133882A (zh) * 2014-07-28 2014-11-05 四川大学 一种基于hdfs的小文件处理方法
CN104142937A (zh) * 2013-05-07 2014-11-12 深圳中兴网信科技有限公司 一种分布式数据存取方法、装置和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5832525A (en) * 1996-06-24 1998-11-03 Sun Microsystems, Inc. Disk fragmentation reduction using file allocation tables
CN104142937A (zh) * 2013-05-07 2014-11-12 深圳中兴网信科技有限公司 一种分布式数据存取方法、装置和系统
CN103577123A (zh) * 2013-11-12 2014-02-12 河海大学 一种基于hdfs的小文件优化存储方法
CN103678579A (zh) * 2013-12-12 2014-03-26 浪潮电子信息产业股份有限公司 一种小文件存储效率的优化方法
CN104133882A (zh) * 2014-07-28 2014-11-05 四川大学 一种基于hdfs的小文件处理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TOMWHITE: "《Hadoop权威指南 第3版》", 31 January 2015 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528451B (zh) * 2016-11-14 2019-09-03 哈尔滨工业大学(威海) 针对小文件的二级缓存预取的云存储框架及构建方法
CN106528451A (zh) * 2016-11-14 2017-03-22 哈尔滨工业大学(威海) 针对小文件的二级缓存预取的云存储框架及构建方法
CN108614837A (zh) * 2016-12-13 2018-10-02 杭州海康威视数字技术股份有限公司 文件存储和检索的方法及装置
CN108614837B (zh) * 2016-12-13 2020-10-09 杭州海康威视数字技术股份有限公司 文件存储和检索的方法及装置
CN106843763A (zh) * 2017-01-19 2017-06-13 北京神州绿盟信息安全科技股份有限公司 一种基于hdfs系统的文件合并方法及装置
CN107193940A (zh) * 2017-05-19 2017-09-22 成都四象联创科技有限公司 大数据优化分析方法
CN107766067A (zh) * 2017-09-28 2018-03-06 福州瑞芯微电子股份有限公司 一种提升压缩镜像烧录速度的方法、存储介质及计算机
CN107679177A (zh) * 2017-09-29 2018-02-09 郑州云海信息技术有限公司 一种基于hdfs的小文件存储优化方法、装置、设备
CN108958659A (zh) * 2018-06-29 2018-12-07 郑州云海信息技术有限公司 一种分布式存储系统的小文件聚合方法、装置及介质
CN109240999A (zh) * 2018-08-24 2019-01-18 浪潮电子信息产业股份有限公司 一种基于小文件的自动化聚合打包方法及系统
CN109597578A (zh) * 2018-12-03 2019-04-09 郑州云海信息技术有限公司 一种数据存储方法、系统、设备及计算机可读存储介质
CN109657009A (zh) * 2018-12-21 2019-04-19 北京锐安科技有限公司 数据预分区存储周期表创建方法、装置、设备和存储介质
CN109902067A (zh) * 2019-02-15 2019-06-18 杭州数梦工场科技有限公司 文件处理方法、装置、存储介质及计算机设备
CN109902067B (zh) * 2019-02-15 2020-11-27 杭州数梦工场科技有限公司 文件处理方法、装置、存储介质及计算机设备
CN112231292A (zh) * 2019-02-15 2021-01-15 杭州数梦工场科技有限公司 文件处理方法、装置、存储介质及计算机设备
CN110633261A (zh) * 2019-09-02 2019-12-31 恩亿科(北京)数据科技有限公司 一种图片存储方法、图片查询方法及装置
CN112231293A (zh) * 2020-09-14 2021-01-15 杭州数梦工场科技有限公司 文件读取方法、装置、电子设备和存储介质

Similar Documents

Publication Publication Date Title
CN105653592A (zh) 一种基于hdfs的小文件合并工具和方法
CN103246595B (zh) 应用程序管理方法、装置、服务器及终端设备
US8799291B2 (en) Forensic index method and apparatus by distributed processing
CN102761627B (zh) 基于终端访问统计的云网址推荐方法及系统及相关设备
CN103733195A (zh) 管理用于基于范围的搜索的数据的存储
CN109284273B (zh) 一种采用后缀数组索引的海量小文件查询方法及系统
CN105468642A (zh) 数据的存储方法及装置
CN104881481A (zh) 一种存取海量时间序列数据的方法及装置
CN102937924B (zh) 一种综合文件特征与文件系统的fat数据恢复方法
CN103678405A (zh) 邮件索引建立方法及系统、邮件搜索方法及系统
CN103778148A (zh) Hadoop分布式文件系统数据文件的生命周期管理方法和设备
CN103679012A (zh) 一种可移植可执行文件的聚类方法和装置
CN102930060A (zh) 一种数据库快速索引的方法及装置
CN105808622A (zh) 一种文件存储的方法和装置
CN102955802B (zh) 从数据报表中获取数据的方法和装置
CN101751475B (zh) 号段记录压缩方法及其装置
US9721000B2 (en) Generating and using a customized index
CN106202416A (zh) 列表数据写方法和装置、列表数据读取方法和装置
CN111858730A (zh) 一种图数据库的数据导入导出装置、方法、设备及介质
CN103177022A (zh) 一种恶意文件搜索方法及装置
CN110888837A (zh) 对象存储小文件归并方法及装置
KR20150043929A (ko) 데이터베이스 관리 방법, 시스템 및 데이터베이스 트리 구조
CN109033295A (zh) 超大数据集的合并方法及装置
KR101358793B1 (ko) 인덱스 파일 생성방법, 사전 인덱스 파일을 이용한 데이터 검색 방법 및 데이터 관리 시스템, 기록매체
CN101408882A (zh) 一种授权文档的检索方法和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160608

WD01 Invention patent application deemed withdrawn after publication