当前位置:首页 » 存储配置 » hadoop存储小文件格式

hadoop存储小文件格式

发布时间: 2025-09-01 13:00:58

❶ Hadoop HDFS处理大量的小文件

小文件是指文件大小明显小于HDFS上块(block)大小(默认64MB)的文件。如果存储小文件,必定会有大量这样的小文件,否则你也不会使用Hadoop(If you’re storing small files, then you probably have lots of them

(otherwise you wouldn’t turn to Hadoop)),这样的文件给hadoop的扩展性和性能带来严重问题。当一个文件的大小小于HDFS的块大小(默认64MB),就将认定为小文件否则就是大文件。为了检测输入文件的大小,可以浏览Hadoop DFS 主页 http://machinename:50070/dfshealth.jsp ,并点击Browse filesystem(浏览文件系统)。

首先,在HDFS中,任何一个文件,目录或者block在NameNode节点的内存中均以一个对象表示(元数据)(Every file, directory and block in HDFS is represented as an object in the namenode’s memory),而这受到NameNode物理内存容量的限制。每个元数据对象约占150byte,所以如果有1千万个小文件,每个文件占用一个block,则NameNode大约需要15G空间。如果存储1亿个文件,则NameNode需要150G空间,这毫无疑问1亿个小文件是不可取的。

其次,处理小文件并非Hadoop的设计目标,HDFS的设计目标是流式访问大数据集(TB级别)。因而,在HDFS中存储大量小文件是很低效的。访问大量小文件经常会导致大量的寻找,以及不断的从一个DatanNde跳到另一个DataNode去检索小文件(Reading through small files normally causes lots of seeks and lots of hopping from datanode to datanode to retrieve each small file),这都不是一个很有效的访问模式,严重影响性能。

最后,处理大量小文件速度远远小于处理同等大小的大文件的速度。每一个小文件要占用一个slot,而task启动将耗费大量时间甚至大部分时间都耗费在启动task和释放task上。

Hadoop存档文件系统通常将HDFS中的多个文件打包成一个存档文件,减少namenode内存的使用

hadoop archive命令创建HAR文件

from:https://blog.csdn.net/sunnyyoona/article/details/53870077

热点内容
modoer源码 发布:2025-09-01 14:48:43 浏览:243
c语言程序界面设计 发布:2025-09-01 14:46:03 浏览:765
触摸精灵的加密脚本 发布:2025-09-01 14:27:08 浏览:258
c语言c学那个好 发布:2025-09-01 14:06:22 浏览:599
手提箱怎么设密码 发布:2025-09-01 13:53:30 浏览:142
phpcmsv9附件上传 发布:2025-09-01 13:41:46 浏览:63
软件开发php 发布:2025-09-01 13:41:45 浏览:217
考试网站源码 发布:2025-09-01 13:39:33 浏览:267
机房网络服务器虚拟搭建 发布:2025-09-01 13:33:40 浏览:800
缓存完 发布:2025-09-01 13:23:19 浏览:511