在HDFS Hadoop中的文件更改所有者期间获取文件inode?

时间:2012-12-30 08:18:46

标签: hadoop hdfs

如何在活动文件中获取文件INode?例如:

在客户端类型命令下如下:

./hadoop fs -chown -R hadoop:hadoop hdfs://nn:9000/A1.txt

如何在文件更改所有者操作期间获取“A1.txt”文件INode?

谢谢!


感谢Harsh J的回答。我知道API。让我改变一种说法:如果我想在文件inode中添加一些内容,如何获取指向活动文件inode的指针?非常感谢。


感谢Harsh J的回答。我知道API。 让我改变一种说法:

如果我想在文件inode中添加内容,如何获取指向活动文件inode的指针?非常感谢。

1 个答案:

答案 0 :(得分:0)

鉴于问题不明确,我将假设您在HDFS中查找给定文件的详细信息,包括所有元数据(例如mtime,atime,owner等)。

HDFS API以FileStatus对象的形式为客户端提供内部INode的表示。这也是几乎所有hadoop fs子命令检索和使用的对象。

为HDFS实例使用适当的Java API,您可以为hdfs://nn:9000/A1.txt的路径检索FileStatus对象。示例代码段如下所示:

Path path = new Path("hdfs://nn:9000/A1.txt");
FileStatus inode = path.getFileSystem(new Configuration())
                       .getFileStatus(path);
// Use inode's information as desired.
// An example to print owner:
System.out.println(inode.getOwner());