gpt4 book ai didi

hadoop - HDFS小文件设计

转载 作者:可可西里 更新时间:2023-11-01 15:26:26 24 4
gpt4 key购买 nike

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

所以我的选择是:

  1. HAR 文件 - 聚合小文件,仅将它们与 har://路径一起保存在另一个地方
  2. 序列文件——在它们进来时附加它们,这更适合 MapReduce 作业,所以我几乎消除了它
  3. HBase - 将小文件保存到 Hbase 是谷歌上几篇文章中描述的另一种解决方案

我想我是在问我是否遗漏了什么?我可以通过将二进制文件应用到大 Avro/ORC/Parquet 文件来实现我需要的吗?然后通过名称或哈希从 java/客户端程序查询它们?

谢谢,

最佳答案

如果您将多个文件附加到大文件中,那么您需要维护每个小文件所在的大文件的索引。这基本上就是 Hbase 会为您做的。它将数据组合成大文件,将它们存储在 HDFS 中,并使用键排序来支持快速随机访问。在我看来,Hbase 会满足您的需求,如果您自己动手制作一些东西,您最终可能会重做 Hbase 已经完成的大量工作。

关于hadoop - HDFS小文件设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46003062/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com