Hadoop处理小文件常见问题FAQ.docVIP

  • 4
  • 0
  • 约5.38千字
  • 约 10页
  • 2019-01-04 发布于广东
  • 举报
Hadoop处理小文件常见问题FAQ.doc

Hadoop 处理小文件常见问题 FAQ 小文件指的是那些size比HDFS的block size(默认64M)小的多的文件。如果在 HDFS中存储小文件, 那么在HDFS中肯定会含有许许多多这样的小文件(不然就不会用Hadoop 了)。而HDFS的问题在于无 法很有效的处理大量小文件。 任何一个文件,目录和block,在HDFS中都会被表示为一个 object存储在namenode 的内存中,没一 个object占用150 bytes 的内存空间。所以,如果有 10million 个文件,没一个文件对应一个 block , 那么就将要消耗namenode 3G 的内存来保存这些 block的信息。如果规模再大一些,那么将会超出现阶 段计算机硬件所能满足的极限。 不仅如此,HDFS并不是为了有效的处理大量小文件而存在的。它主要是为了流式的访问大文件而设计的。 对小文件的读取通常会造成大量从 datanode 到datanode 的seeks和hopping 来retrieve 文件,而这 样是非常的低效的一种访问方式。 大量小文件在mapreduce 中的问题 Map tasks 通常是每次处理一个 block的input(默认使用FilelnputFormat) 。如果文件非常的小,并且 拥有大量的这种小文件,那么每一个map task 都仅仅处理了非常小的input数据,并且会

文档评论(0)

1亿VIP精品文档

相关文档