【问题标题】:Hadoop - Image Input Format - JPEG to base64 conversionHadoop - 图像输入格式 - JPEG 到 base64 转换
【发布时间】:2015-03-22 03:48:10
【问题描述】:

我对 Hadoop 比较陌生,到目前为止,我唯一的经验是字数问题。

我要完成的工作: 我正在尝试编写一个 mapreduce 作业来将 JPEG 格式的图像转换为 base64 格式。图像将全部保存在一个目录中。我需要从此目录中读取图像并在我的映射器中将图像转换为 base64 字符串。 然后在我的 reducer 中,我需要将所有图像的 base64 字符串合并到一个 log/txt 文件中。

我面临的问题: 我的输入格式有问题。网络上的大多数示例仅显示使用文本输入格式。在编写普通的 java 程序将图像转换为 base64 时,我使用了 BufferedImage 类。我想知道它是否可以为 mapreduce 定义输入格式以便我可以处理图像,如果可以,应该做什么。

提前感谢您!

【问题讨论】:

    标签: java image hadoop


    【解决方案1】:

    据我所知,您有以下选择:

    1- 使用 HIPI(Hadoop 图像处理接口),它提供了许多图像处理工具

    2- 使用 ImageInputFormat 等第 3 方图像输入格式

    3- 使用 3rd-party WholeFileInputFormat 一次读取一个完整的图像,但它将作为一个完整的文件读取,因此您需要对其进行解析。

    3- 如果所有图像的字节大小都相同,则可以使用 FixedLengthInputFormat。不过,根据您的图像,可能需要进行解析。

    4- 如果这些都不适合您,那么您可能想了解一下如何制作适合您目的的自己的输入格式。你可以在 Hadoop: The Definitive Guide 一书中找到一个很好的教程,或者here

    祝你好运

    【讨论】:

      猜你喜欢
      • 2016-12-11
      • 1970-01-01
      • 1970-01-01
      • 2017-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-14
      • 2021-07-09
      相关资源
      最近更新 更多