打算用hdfs存储一些图片,数量很多,但是大小都一样,每张不到1M
打算用hdfs存储一些图片,数量很多,但是大小都一样,每张不到1M。该怎么存储,有没有实际的例子。还有存储以后怎么查询。根据我目前的水平,只晓得应该将全部直接打包上传到hdfs,但是这样的话,我怎么去查询我指定的一张图片呢。还有个,现在在Hadoop集群中我可不可以直接指定把数据上传到我的某一个DataNode上面。如果可以,应该怎么做呢,如果不可以,为什么吗? 首先Hadoop对小文件的支持效果并不算好,因为设计之初就考虑的是对大数量(几百M,甚至上G)的处理(一次写入,多次读取)。 这些原理如果想了解的话可以去看看GFS的论文,有alex翻译的中文版的。
其次Hadoop对小文件做了一些优化,你可以使用Sequence文件(一种Hadoop定义的二进制文件格式的文件)进行存储和获取。这个效率还不错,具体能不能使用还得看你自己的应用。
Hadoop 不支持自定义的文件存储,也就是说你无法制定一个数据文件存储到哪个DataNode节点上。
愿意是DataNode节点是由Hadoop统一管理的,用户不关注内部的实现细节。
备注:
指定一个文件存储到一个DataNode节点这样的需求好像也没什么必要。 谢谢您的回答。 赞啊~~~ 同感啊,我也遇到楼主一样的困惑,本人新手,刚开始学习hadoop
页:
[1]