Pivotal Knowledge Base

フォローする

hdfs -stat コマンドのオプション書式を理解する

環境

PHD 1.x

目的:

hdfs "stat" コマンドはHDFSで格納するファイルの特定情報を収集するためにスクリプトを迅速に書く必要がある場合に役立つ。

適用例: hdfs -ls /filename を実行したとき、常にファイルのフルパス情報が返されるが、単にbasenameのみを引き出したい。 

本記事では、hdfs "stat" コマンドで、ファイル名やディレクトリ名とそのファイルに関する特定の詳細を表示する方法について述べる。

フォーマッティングオプション:

%b  ファイルサイズ(単位:バイト)
%F  inode 型に応じて、「ファイル」や「ディレクトリ」、「シンボリックリンク」を返す
%g  グループ名
%n  ファイル名
%o  HDFS ブロックサイズ(単位:バイト、デフォルトは 128MB)
%r  レプリケーションファクター
%u  オーナーのユーザー名
%y  フォーマットされた inode 変更日時
%Y  UNIX エポックベースの inode 変更日時

例: HDFS 上のファイルやディレクトリの存在を確認するために、basenameのみを返すよう stat を使用

[root@hdm1 ~]# hdfs dfs -stat "%n" /tmp/messages
messages

例: "ls" の出力内容と全ての stat 属性出力内容との比較

[root@hdm1 ~]# hdfs dfs -stat "%b %F %g %n %o %r %u %y %Y" /tmp/messages
143 regular file hadoop messages 134217728 3 root 2014-02-07 21:17:22 1391807842674 

"-ls"との比較

Found 1 items
-rw-r--r--   3 root hadoop        143 2014-02-07 13:17 /tmp/messages

例: ディレクトリに対して stat を使用

[root@hdm1 ~]# hdfs dfs -stat "%b %F %g %n %o %r %u %y %Y" /tmp/gphdtmp
0 directory hadoop gphdtmp 0 0 hdfs 2013-12-26 07:08:06 1388041686026

例: /tmp 配下の全てのファイルとディレクトリへの stat の実行

[root@hdm1 ~]# hdfs dfs -stat "%b %F %g %n %o %r %u %y %Y" "/tmp/*"
0 directory hadoop gphdtmp 0 0 hdfs 2013-12-26 07:08:06 1388041686026
143 regular file hadoop messages 134217728 3 root 2014-02-07 21:17:22 1391807842674

コメント

Powered by Zendesk