我试着......在Hadoop中找出这种情况。
什么是最好的文件格式Avro或SequenceFile,以防在HDFS中存储图像并使用Python后处理它们?
SequenceFile是面向键值的,所以我认为Avro文件会更好用吗?
答案 0 :(得分:0)
我使用SequenceFile在HDFS中存储图像,效果很好。 Avro和SequenceFile都是二进制文件格式,因此它们可以有效地存储图像。作为SequenceFile中的键,我通常使用原始图像文件名。
SequenceFile用于许多图像处理产品,例如OpenIMAJ。您可以使用现有工具在SequenceFile中处理图像,例如OpenIMAJ SequenceFileTool。
此外,您可以查看HipiImageBundle。这是HIPI(Hadoop Image Processing Interface)提供的特殊格式。根据我的经验,HipiImageBundle比SequenceFile具有更好的性能。但是只能由HIPI使用。
如果您没有大量文件(少于1M),您可以尝试将它们存储在一个大文件中,而use CombineFileInputFormat可以加速处理。
我从不使用Avro存储图像,我不知道任何使用它的项目。