Hadoop存储小文件有什么问题,希望有人能回答全面些

 我来答
龙佐天下
2014-03-31 · TA获得超过1567个赞
知道小有建树答主
回答量:1379
采纳率:60%
帮助的人:1235万
展开全部
hadoop主要是hdfs和mapreduce两大框架,hdfs用来存储文件,mapreduce用来处理文件进行计算。1.首先,对于hdfs,dn负责存储文件,以及文件的副本,而nn负责存储文件的元数据,例如文件的块信息,以及位置信息等,这些数据会保存在nn的内存中,当存在很多的小文件时,每个小文件nn存储的元数据都是一样的,所以N个小文件会占用nn大量的内存,增大nn的负担。
2.而对于mapreduce来说,map的输入默认是一个输入文件对应一个map任务,所以如果不做特殊处理在使用mapreduce处理这些小文件时会一个小文件产生一个map。这样的话每个map只处理一个小文件,会造成很大的资源浪费,同时也会降低mapreduce的执行效率。
以上是我自己的理解,可能还有其他的原因。建议去网上自行搜索一些文章阅读。
追问
饿
斯蒂芬英雄
2014-03-31
知道答主
回答量:44
采纳率:0%
帮助的人:26.3万
展开全部
因为hdfs里面设置了每个“block”的大小,所以,如果大量的小文件大小小于该设定值,会造成存储空间的极大浪费
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式