大量小文件的缺点:
1) 占用namenode内存
2) 处理时增加map任务数量,增加寻址次数
1 使用HAR(Hadoop Archives),构建在其他文件系统之上用于文件存档的文件系统
Hadoop存档文件系统通常将HDFS中的多个文件打包成一个存档文件,减少namenode内存的使用
hadoop archive命令创建HAR文件
2 使用sequencefile
3 运行时使用CombinerFileInputFormat
Reference:https://blog.csdn.net/zyd94857/article/details/79946773