> hdfs dfs -mkdir /user/mgm/dir1
> hdfs dfs -mkdir /user/mgm/dir2
> hdfs dfs -ls /user/mgm
Found 2 items
drwxr-xr-x - chris supergroup 0 2015-12-31 14:38 /user/mgm/dir1
drwxr-xr-x - chris supergroup 0 2015-12-31 14:38 /user/mgm/dir2
> hdfs dfs -help stat
-stat [format] <path> ... :
Print statistics about the file/directory at <path>
in the specified format. Format accepts filesize in
blocks (%b), type (%F), group name of owner (%g),
name (%n), block size (%o), replication (%r), user name
of owner (%u), modification date (%y, %Y).
%y shows UTC date as "yyyy-MM-dd HH:mm:ss" and
%Y shows milliseconds since January 1, 1970 UTC.
If the format is not specified, %y is used by default.
> hdfs dfs -stat '%y %n' /user/mgm/*
2015-12-31 22:38:16 dir1
2015-12-31 22:38:19 dir2
> hdfs dfs -stat '%Y %n' /user/mgm/*
1451601496198 dir1
1451601499150 dir2
> hdfs dfs -stat '%Y %n' /user/mgm/* | sort -nr | head -1 | awk '{ print $NF }'
dir2
1条答案
按热度按时间bwntbbo31#
这个
-t
的选项hdfs dfs -ls
是针对ApacheHadoop2.8.0的新特性,该特性尚未发布。这在jira发行的hadoop-8934中得到了追踪。我不知道为什么这个选项在ls
已经有文件了。同时,另一个选择是使用
hdfs dfs -stat
包含修改时间的格式字符串的命令。下面是一个示例,演示如何使用hdfs dfs -stat
识别dir2
作为最新修改时间的子目录。如何在hadoop中找到在目录中创建的最新子目录?
请记住,所有这些特性都参考修改时间,而不是创建时间。修改时间可以随着目录内容的更改而更新。如果你真的非常需要创建时间,那就要小心了。没有选项可用于将创建时间的可见性作为与修改时间分开跟踪的值。