Я предполагаю, что вы ищете время последнего доступа к файлу (открыть, прочитать и т. Д.), Потому что чем дольше в прошлом файл был менее доступен.
Таким образом, вы можете сделать это в Linux довольно просто через ls -l -someMoreOptions , в HDFS необходима дополнительная работа.
Возможно, вы могли бы отслеживать /hdfs-audit.log
для cmd=open
указанного файла.Или вы можете реализовать небольшую функцию для считывания FileStatus.getAccessTime()
и, как упоминалось в разделе Есть ли способ получить время последнего доступа к файлам HDFS? или Как получить время последнего доступа к любым файлам вHDFS? в Cloudera Community.
Другими словами, необходимо создать небольшую программу, которая сканирует все файлы, зачитать свойства
...
status = fs.getFileStatus(new Path(line));
...
long lastAccessTimeLong = status.getAccessTime();
Date lastAccessTimeDate = new Date(lastAccessTimeLong);
...
и упорядочить ее.,Это то, что вы сможете найти файлы, к которым не обращались долгое время.