在Map任务中,我尝试使用ImageIO.write(bufferedimage,“png”,new File(outputFilenamepath));
我收到异常,因为没有这样的文件或目录-FileNotFoundException。
您能告诉我在存在缓冲图像的情况下如何在HDFS上写入图像文件吗

最佳答案

映射器任务在Hadoop集群中的多个节点上同时运行。您使用普通Java Writer类进行写入的方法仅由于需要使用HDFS API写入数据而无法使用。

使用FileSystem API-

     Configuration conf = new Configuration();
     FileSystem fs = FileSystem.get(conf);
     Path inputfile = new Path("in/map");
     FSDataOutputStream out = fs.create(inputfile);
     if(value.toString()!= null){
        out.writeBytes(value.toString());
     }
        out.close();

关于hadoop - 如何在HDFS上写入缓冲图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20627165/

10-16 06:09