我习惯于使用文件系统在hdfs(以及用于测试的本地fs)中执行文件操作。最近,我面临着原子重命名的需求,尽管文件系统有一个重载方法,具有这样的功能:
protected void rename(Path src, Path dst, org.apache.hadoop.fs.Options.Rename... options)
它受到保护,已被弃用。我试着找到一种方法来解决这个问题,发现filecontext也有同样的方法,而且效果很好。我在网上找到的每一个例子 FileSystem
. 所以我想知道为什么有两个类做同样的事情,它可以使用吗 FileContext
而在我的情况下呢?
1条答案
按热度按时间ccrfmcuu1#
文档中有一个注解,对于
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可以吗”的问题,听起来是的。