hdfs上存在大量的小文件,如何进行优化?

提问者:帅平 问题分类:面试刷题
hdfs上存在大量的小文件,如何进行优化?
1 个回答
自然萌鹿鹿
自然萌鹿鹿
具体的解决方案有:
1、入库前:数据采集或标准入库之前,将小文件进行合并大文件再上传入库
2、存储:Hadoop Archive归档–>将多个小文件打包成一个HAR文件,减少对NN内存的使用
3、计算方面:CombineTextInputFormat用于将多个小文件在切片过程中生成一个单独的切片或者少量的切片
4、其他:自己写一个MR程序将产生的小文件合并成一个大文件。如果是Hive或者Spark有merge功能自动帮助我们合并。有小文件场景开启JVM重用;如果没有小文件,不要开启JVM重用,因为会一直占用使用到的Task卡槽,直到任务完成才释放。JVM重用可以使得JVM实例在同一个job中重新使用N次,N的值可以在Hadoop的mapred-site.xml文件中进行配置。通常在10-20之间
发布于:3个月前 (01-24) IP属地:四川省
我来回答