我希望能够在HDFS上存储数百万个小文件(二进制文件-图像、exe等) (~1Mb),我的要求基本上是能够查询随机文件而不运行MapReduce作业。对我来说,主要的问题是Namenode内存问题,而不是MapReduce映射器问题。
所以我的选择是:
我想我是在问我是不是错过了什么?我能通过向大的Avro/ORC/Parquet文件提交二进制文件来实现我所需要的吗?然后通过名称或来自java/client程序的散列查询它们?
谢谢,
发布于 2017-09-01 17:05:00
如果将多个文件附加到大文件中,则需要维护一个索引,其中每个小文件都位于其中。这基本上就是Hbase为你所做的。它将数据合并到大文件中,将它们存储在HDFS中,并使用键排序来支持快速的随机访问。在我看来,Hbase会满足你的需求,如果你亲手翻了一些东西,你可能最终会重新做很多Hbase已经做过的工作。
https://stackoverflow.com/questions/46003062
复制相似问题