hadoop - 将Base64解码为jpg图像

标签 hadoop

我们的日志文件包含Base64编码的图像。我想处理这些日志文件并提取base64编码的“东西”,对其进行解码并将其存储为“真实”图像文件。

我一直在寻找如何执行此操作的方法,因为除了使用Sequence * OutputFormat类外,无法从hadoop生成图像文件。

简而言之,我的问题是,是否可以在不编写自定义OutputFormat的情况下从hadoop的base64编码文件中生成jpg文件?

亲切的问候/约翰

最佳答案

不知道您对“自定义OutputFormat”的含义是什么,但这是我在Web应用程序中所做的(尽管与hadoop没有任何关系)。 HTH。

import sun.misc.BASE64Decoder;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.io.PrintStream;

public static void storeImage(String imageBase64, String path) {
    imageBase64 = imageBase64.replace("\n", "");
    try {
        new BASE64Decoder().decodeBufferToByteBuffer(imageBase64);
        OutputStream out = new FileOutputStream(path);
        PrintStream p = new PrintStream(out);
        p.write(new BASE64Decoder().decodeBuffer(imageBase64));
        p.flush();
        p.close();

    } catch (Exception e) {
        log.error("Error storing image.", e);
        e.printStackTrace();
    }
}

关于hadoop - 将Base64解码为jpg图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12293866/

相关文章:

java - 我可以在map-reduce中编写自定义java方法吗?

eclipse-plugin - hadoop 的 eclipse 插件是否与 CDH3 一起工作

java - k-means 在 mapreduce 中对特定集群中的文件进行分组

hadoop - 如何验证是否已安装CDH(cloudera hadoop分发)

hadoop - Cloudera安装疑惑?

hadoop - 使用 MapReduce 解析 Freebase RDF 转储

hadoop - 有人可以向我解释 orcfiledump 的输出吗?

ubuntu - Hadoop:文件...只能复制到 0 个节点,而不是 1 个

hadoop hdfs 从 cdh3 迁移到 cdh4

eclipse - Eclipse上的Hadoop MapReduce:清理登台区域文件:/app/hadoop/tmp/mapred/staging/myname183880112/.staging/job_local183880112_0001