首页 > 解决方案 > 如何在 HDFS 中查找访问频率较低的文件

问题描述

除了使用 Cloudera Navigator,我如何在 HDFS 中找到访问频率较低的文件。

标签: hivehdfscloudera-navigator

解决方案


我假设您正在查找文件最后一次访问(打开、读取等)的时间,因为过去越长,访问文件的次数就越少。

因此,您可以通过ls -l -someMoreOptions在 Linux 中非常简单地执行此操作,而在 HDFS 中需要做更多的工作。

也许您可以监视上述文件的/hdfs-audit.logfor 。cmd=open或者你可以实现一个小函数来读取FileStatus.getAccessTime()和,正如在是否有办法获取 HDFS 文件的最后访问时间?如何获取 HDFS 中任何文件的最后访问时间?在 Cloudera 社区。

换句话说,有必要创建一个小程序来扫描所有文件,读出属性

...
status = fs.getFileStatus(new Path(line));
...   
long lastAccessTimeLong = status.getAccessTime();
Date lastAccessTimeDate = new Date(lastAccessTimeLong);
...

并订购它。您将能够找到长时间未访问的文件。


推荐阅读