我试图……在 Hadoop 中解决这种情况。
什么是最好的文件格式 Avro 或 SequenceFile,以防在 HDFS 中存储图像并在之后使用 Python 处理它们?
SequenceFile 是面向键值的,所以我认为 Avro 文件会更好地工作?
我试图……在 Hadoop 中解决这种情况。
什么是最好的文件格式 Avro 或 SequenceFile,以防在 HDFS 中存储图像并在之后使用 Python 处理它们?
SequenceFile 是面向键值的,所以我认为 Avro 文件会更好地工作?
我使用 SequenceFile 将图像存储在 HDFS 中,并且效果很好。Avro 和 SequenceFile 都是二进制文件格式,因此它们可以有效地存储图像。作为 SequenceFile 中的键,我通常使用原始图像文件名。
SequenceFile 用于许多图像处理产品,例如 OpenIMAJ。您可以使用现有工具来处理 SequenceFile 中的图像,例如 OpenIMAJ SequenceFileTool。
另外,你可以看看HipiImageBundle。这是 HIPI(Hadoop 图像处理接口)提供的一种特殊格式。根据我的经验,HipiImageBundle 比 SequenceFile 具有更好的性能。但 in 只能由 HIPI 使用。
如果您没有大量文件(小于 1M),您可以尝试将它们存储在一个大文件中而不打包,并使用 CombineFileInputFormat来加速处理。
我从不使用 Avro 来存储图像,也不知道有任何项目使用它。