1、Hadoop HAR
将众多小文件打包成一个大文件进行存储,并且打包后原来的文件仍然可以通过Map-Reduce进行操作,打包后的文件由索引和存储两大部分组成;
缺点: 一旦创建就不能修改,也不支持追加操作,还不支持文档压缩,当有新文件进来以后,需要重新打包。
2、SequeuesFile
适用于非文体格式,可作小文件容器,并可压缩;
3、CombineFileInputFormat
将多个文件合并成一个split作为输入,减少map输入与HDFS块的耦合;
4、Java代码实现,使用HDFS API;更灵活可控;