如何在hdfs中查找访问频率较低的文件

zxlwwiss  于 2021-06-27  发布在  Hive
关注(0)|答案(1)|浏览(496)

除了使用clouderanavigator之外,我如何在hdfs中找到访问频率较低的文件。

wko9yo5t

wko9yo5t1#

我假设您正在查找文件最后一次被访问的时间(打开、读取等),因为在过去,文件越长,访问的次数就越少。
通过ls-l-somemore选项,您可以在linux中非常简单地完成这项工作,而在hdfs中,需要做更多的工作。
也许你可以监视 /hdfs-audit.log 为了 cmd=open 提到的文件。或者可以实现一个小函数来读取 FileStatus.getAccessTime() 如下文所述,是否有任何方法可以获取hdfs文件的最后访问时间?或者如何获取hdfs中任何文件的最后访问时间?在cloudera社区。
换句话说,有必要创建一个扫描所有文件、读取属性的小程序

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

然后点餐。这意味着您将能够找到长期未被访问的文件。

相关问题