Hadoop 小文件

Hadoop中进行小文件处理

1.坏处:

  a.存储:每一个小文件在存储的时候都会产生一个元数据,如果存储大量的小文件,会产生大量的元数据,导致NameNode的效率降低,

      如果小文件过多,可能会导致 NameNode的内存崩溃

  b.计算:每一个小文件都会作为一个切片来处理,每一个切片都要对应一个MapTask,意味着如果产生大量的小文件,会对应大量的切片,则需要大量的MapTask来处理。

      导致整个集群的并发量要增加,如果超过集群的承载能会力导致服务器宕机

2.处理手段:合并(将多个小文件合并成一个大文件,利用一个任务处理多个小文件)、压缩

3.合并:

  a.手动合并:手动编码、合并工具(一般公司里)

  b.har包 - Hadoop Archive 工具

  c.CompositeInputFormat - 多源输入

4.har包:将多个小文件合并成一个文件,并生成一个har包

      hadoop archive -archiveName user.har -p /user /user/har

猜你喜欢

转载自www.cnblogs.com/alen-apple/p/13187184.html