在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/