1

アクティブなファイルでファイル INode を取得する方法は? 例えば:

以下のようにクライアントタイプコマンドの下で:

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

ファイルの所有者変更操作中に「A1.txt」ファイル INode を取得する方法は?

ありがとう!


以下の回答をくれたHarsh Jに感謝します。私はAPIを知っています。言い方を変えましょう: ファイル i ノードに何かを追加したい場合、アクティブなファイル i ノードへのポインターを取得するにはどうすればよいですか? どうもありがとう。


答えてくれたHarsh Jに感謝します。私はAPIを知っています。言い方を変えさせてください:

ファイル i ノードに何かを追加したい場合、アクティブなファイル i ノードへのポインターを取得するにはどうすればよいですか? どうもありがとう。

4

1 に答える 1

0

不明確な質問を考えると、HDFS ですべてのメタデータ (mtime、atime、所有者など) を備えた特定のファイルの詳細を探していると仮定します。

HDFS APIは、 FileStatusオブジェクトINodeの形式でクライアントに内部の表現を提供します。これは、ほとんどすべてのサブコマンドによって取得および使用されるオブジェクトでもあります。hadoop fs

HDFS インスタンスに適切な Java API を使用して、パスのFileStatusオブジェクトを取得できますhdfs://nn:9000/A1.txt。スニペットの例は次のようになります。

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());
于 2012-12-30T20:23:42.543 に答える