san*_*ers 5 hadoop hbase mapreduce image random-access
我有大量的图像文件需要在HDFS上存储和处理
我们假设有两种情况:
我想用图像做4件事:
解决方案设计IMO应考虑:
我的第一个想法是聚合图像以处理小文件问题,满足1和2. 但我留下了快速随机访问图像问题和添加新图像.我不知道如何处理这件事.
我查看了sequenceFiles,HAR,mapFiles,combineFileInputFormat,Avro,但无法找到(3)和(4)的解决方案.因为我必须负责索引块的内容,搜索和删除或添加新文件可能会变得棘手.
另一种方法是使用HBase或HCatalog来存储图像,这将照顾(1)(2)(3)和(4),但代价是什么?我知道在数据库中存储二进制BLOBS并不是非常有效,特别是随着图像数量的增加,但我认为可能HBase或HCatalog处理这个有点不同.
感谢您的帮助!
编辑:
我刚刚在HBase上发现这个线程用于提供图像,显然Yfrog和ImageShack有数十亿条带有图像的记录,这是一个很好的阅读链接.虽然如果有人知道任何基准会很棒.
恕我直言,将~10MB大小的图像直接存储在hbase中是没有问题的。更大的文件可以通过 hbase 中的指针存储在 HDFS 本身中。即使您有数百万个此类文件,这也可以实现更快的访问。MR 与 hbase 和 HDFS 都能完美配合。
| 归档时间: |
|
| 查看次数: |
7362 次 |
| 最近记录: |