首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HDFS小文件设计

HDFS小文件设计
EN

Stack Overflow用户
提问于 2017-09-01 15:01:36
回答 1查看 204关注 0票数 1

我希望能够在HDFS上存储数百万个小文件(二进制文件-图像、exe等) (~1Mb),我的要求基本上是能够查询随机文件而不运行MapReduce作业。对我来说,主要的问题是Namenode内存问题,而不是MapReduce映射器问题。

所以我的选择是:

  1. HAR文件-聚合小文件,并且仅限于将它们保存在另一个地方
  2. 序列文件--在它们进来时追加它们,这更适合于MapReduce作业,所以我基本上消除了它。
  3. HBase -将小文件保存到Hbase是在google上的几篇文章中描述的另一种解决方案。

我想我是在问我是不是错过了什么?我能通过向大的Avro/ORC/Parquet文件提交二进制文件来实现我所需要的吗?然后通过名称或来自java/client程序的散列查询它们?

谢谢,

EN

回答 1

Stack Overflow用户

发布于 2017-09-01 17:05:00

如果将多个文件附加到大文件中,则需要维护一个索引,其中每个小文件都位于其中。这基本上就是Hbase为你所做的。它将数据合并到大文件中,将它们存储在HDFS中,并使用键排序来支持快速的随机访问。在我看来,Hbase会满足你的需求,如果你亲手翻了一些东西,你可能最终会重新做很多Hbase已经做过的工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46003062

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档