我创建了一个文件,其中包含一系列map reduce作业的结果。我做的程序迭代输出一些结果。我想使用javaapi将这些数据附加到结果文件中。我试过fs.append,但不起作用。目前我正在使用内置的java库(Eclipse4.2.2),当我可以使用debugin时,我会把它做成一个jar并将它放入集群中。
首先,hdfs是否接受“append”?如果是,有人能告诉我是怎么做的吗?提前通知。
我用来做这项工作的代码如下:
try{
Path pt = new Path("/home/results.txt");
FileSystem fs = FileSystem.get(new Configuration());
BufferedWriter br = new BufferedWriter(new OutputStreamWriter(fs.append(pt)));
String line = "something";
br.write(line);
br.close();
} catch (Exception e) {
System.out.println("File not found");
}
1条答案
按热度按时间83qze16e1#
早期版本的hdfs不支持append操作。一旦文件被关闭,它是不可变的,只能通过使用不同的文件名编写新的副本来更改。
请在此处查看更多信息
如果你使用旧版本,这是我的工作。。。。。。