タイムスタンプごとに、昇順または降順でHDFSディレクトリ内のファイルを一覧表示するhdfsコマンドはありますか?デフォルトでは、hdfs dfs -ls
コマンドはソートされていないファイルのリストを提供します。
答えを探したとき、私が得たのは回避策、つまりhdfs dfs -ls /tmp | sort -k6,7
です。しかし、hdfs dfs
コマンドラインに組み込まれたより良い方法はありますか?
いいえ、日時に基づいてファイルをソートする他のオプションはありません。
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