hadoop对于小文件的处理方法

https://blog.csdn.net/weixin_36815898/article/details/90764410小文件:指文件size小于HDFS上block(dfs block size)大小的文件小文件如何产生:动态分区插入数据,产生大量的小文件,从而导致map数量剧增 reduce数量越多,小文件也越多,reduce的个数和输出文件个数一致 数据源本身就是大量的小...
摘要由CSDN通过智能技术生成

https://blog.csdn.net/weixin_36815898/article/details/90764410

小文件:指文件size小于HDFS上block(dfs block size)大小的文件

小文件如何产生:

  • 动态分区插入数据,产生大量的小文件,从而导致map数量剧增
  • reduce数量越多,小文件也越多,reduce的个数和输出文件个数一致
  • 数据源本身就是大量的小文件
  • 实时流处理:比如我们使用 Spark Streaming 从外部数据源接收数据,然后经过 ETL 处理之后存储到 HDFS 中。这种情况下在每个 Job 中会产生大量的小文件。

大量小文件的弊端

  • 增加map开销,每个切片split都要执行一次map任务,一个小文件就会对应一个split,一个map任务
  • 增加namenode内存压力,每个小文件都要有与之对应的元数据。影响namenode性能
  • 小文件过多将增加寻址次数,时间都花销的寻址上面。读取过多小文件数据的任务执行时,消耗过多的集群资源。mapreduce处理数据的最佳速度就是和集群中的传输速度相同

hdfs自带的小文件解决方案

  • hadoop Archive(HAR):减少对namenode的负载
  1. 意思是将文件再次进行整理和保存,使之更易管理和保存。而Hadoop中的归档是在HDFS之上又构建了一个新的抽象层,叫HAR(Hadoop Archives
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值