web-dev-qa-db-ja.com

タイムスタンプごとにHDFSディレクトリ内のファイルを一覧表示するhdfsコマンドはありますか

タイムスタンプごとに、昇順または降順でHDFSディレクトリ内のファイルを一覧表示するhdfsコマンドはありますか?デフォルトでは、hdfs dfs -lsコマンドはソートされていないファイルのリストを提供します。

答えを探したとき、私が得たのは回避策、つまりhdfs dfs -ls /tmp | sort -k6,7です。しかし、hdfs dfsコマンドラインに組み込まれたより良い方法はありますか?

21
daemon12

いいえ、日時に基づいてファイルをソートする他のオプションはありません。
hadoopバージョン<2.7を使用している場合、sort -k6,7を使用する必要があります。

hdfs dfs -ls /tmp | sort -k6,7

また、hadoop 2.7.x ls command には、次のオプションがあります。

Usage: hadoop fs -ls [-d] [-h] [-R] [-t] [-S] [-r] [-u] <args>

Options:
-d: Directories are listed as plain files.
-h: Format file sizes in a human-readable fashion (eg 64.0m instead of 67108864).
-R: Recursively list subdirectories encountered.
-t: Sort output by modification time (most recent first).
-S: Sort output by file size.
-r: Reverse the sort order.
-u: Use access time rather than modification time for display and sorting.

したがって、ファイルを簡単にソートできます。

hdfs dfs -ls -t -R (-r) /tmp 
39
Nishu Tayal