小文件的产生和解决

一、小文件是如何产生的

1.现在的实时场景下基于每小时的每天的和每周的计算越来越多但是产生的数据大小可能不会超过10M。
2.可能数据集本身就含有大量小文件,并未通过任何处理就拷贝到我们的HDFS当中时会产生。
3.当我们的每个reduce都会产生一个文件,或者我们产生数据倾斜时,某个reduce数据过大,则其它的数据会很小。

二、小文件产生的影响

1.NameNode:会损耗NameNode的使用寿命,因为没产生一个小文件就会产生一份元数据并存储到NameNode内存中,元数据信息包括:文件名、文件路径、所有者、所有组、权限。
2.MapReduce:每个小文件都会生成一个MapTask任务来执行,效率大大降低。

三、小文件的解决

1.进行小文件的归档
2.可以通过ConbinnerInputFormat对输入端的小文件进行预聚合
3.可以自定义Inpuformat使用serquencefile格式存储文件

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值