我计划一个hdfs系统,它将托管数字存储库(Fedora Commons)的图像文件(少量Mb到200mb)。我从another stackoverflow post发现CombineFileInputFormat可用于创建由多个输入文件组成的输入拆分。这种方法可以用于图像或PDF吗?在地图任务中,我想要完整地处理单个文件,即分别处理输入分割中的每个图像。
我知道小文件问题,对我来说这不是问题。
我想使用CombineFileInputFormat来避免Mapper任务设置/清理开销和数据局部性保留的好处。
答案 0 :(得分:0)
如果您想在Hadoop中处理图片,我只建议使用HIPI,这样可以让您做到所需。
否则,当您说要完整处理单个文件时,我认为您不能使用传统的输入格式来执行此操作,因为即使使用CombineFileInputFormat
,您也无法保证您的内容是什么拆分正好是1张图片。
您还可以考虑的方法是在输入中输入包含图像的URL /位置的文件(例如,您可以将它们放在Amazon S3中),并确保您拥有与图像一样多的映射器,然后每个映射任务将能够处理单个图像。不久前我做过类似的事情并且工作正常。