FileSystem vs FileContext用于hdfs / localFS中的文件操作?

时间:2016-10-28 12:37:51

标签: hadoop hdfs

我习惯使用FileSystem在hdfs(和本地FS进行测试)中进行文件操作。最近我遇到了原子重命名的需要,尽管FileSystem有overloaded method具有这样的功能:

protected void rename(Path src, Path dst, org.apache.hadoop.fs.Options.Rename... options)

它受到保护和弃用。我试图找到解决这个问题的方法,发现FileContext它有相同的方法,并且工作正常。我在互联网上找到的每个例子都使用FileSystem。所以我想知道为什么有两个类可以做同样的事情,而且在我的情况下可以使用FileContext吗?

1 个答案:

答案 0 :(得分:0)

documentation注明了FileSystem.rename版本的三个参数:

This method is deprecated since it is a temporary method added to support the transition from FileSystem to FileContext for user applications.

对于你的问题"是否可以在我的情况下使用FileContext",听起来像是。