Hadoop:通过将内容附加到名称的末尾,可以创建文件而不会覆盖吗?

时间:2016-05-10 18:37:32

标签: hadoop

因此,在很多情况下,当您将文件添加到已存在同名文件的目录时,它会在其末尾添加一些内容。例如,一个唯一的递增数字。

所以,让我们说我连接的Hadoop系统有一个名为" / input"的文件夹,并且那里已经有一个名为"的文件。 sample.txt的&#34 ;.所以完整的路径是" /input/sample.txt"。如果我尝试使用路径" /input/sample.txt"创建一个新文件,它会将其保存为" /input/sample1.txt"或类似的东西。然后在该目录中将有两个文件,sample.txt和sample1.txt。

我是Hadoop的新手,我的公司让我构建了一个界面,允许我们的应用程序连接到Hadoop系统。我有一些简单的客户端代码可以正常运行,但我在API中没有看到有关如何执行此操作的任何内容。这是我们产品的其他组件所具有的行为,虽然没有必要,但我希望能够提供它以保持一致性。

提前致谢。

PS。我正在使用的客户端代码是Java,并使用Apache的Hadoop客户端库。

1 个答案:

答案 0 :(得分:0)

使用FileSystem exists API并将文件更改为您的需求增量或其他任何内容。

示例java代码待办事项
Configuration conf = new Configuration();
conf.set("fs.default.name", "hdfs://namenode:9000");
FileSystem fs = FileSystem.get(conf);
Path path = new Path("/input/sample.txt");
if(fs.exists(path)) ....

https://hadoop.apache.org/docs/r2.6.1/api/org/apache/hadoop/fs/FileSystem.html