因此,在很多情况下,当您将文件添加到已存在同名文件的目录时,它会在其末尾添加一些内容。例如,一个唯一的递增数字。
所以,让我们说我连接的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客户端库。
答案 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