在java中基于时间戳获取hdfs文件

wi3ka0sx  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(445)

我必须使用java根据文件的时间戳从hdfs文件夹中过滤文件列表。
例子:

File    TimeStamp

File1   22nd January 2015
File2   21st January 2015
File3   20th January 2015

考虑到上面的例子,我必须得到一个在 20th January 2015 以及 21st January 2015 . 这将是:

File2
File3

如何在java中实现这一点?

7vux5j2d

7vux5j2d1#

您可以使用类似的代码以字符串的形式获取文件创建时间,或者根据需要转换为另一个对象(如果要对hdfs文件执行操作,则需要获取hdfs path对象)

Path file = FileSystems.getDefault().getPath(".", "filename");
    BasicFileAttributes attr = Files.readAttributes(file, BasicFileAttributes.class);

    System.out.println("creationTime: " + attr.creationTime());

    FileTime creationDate = attr.creationTime();
    SimpleDateFormat df = new SimpleDateFormat("MM/dd/yyyy");
    String dateCreated = df.format(creationDate.toMillis());
    System.out.println(dateCreated);

有关管理元数据、基本文件属性和文件时间的更多信息,请参阅这些java文档和教程。

dl5txlt9

dl5txlt92#

对基于filestatus的getmodificationtime方法进行过滤的pathfilter示例使用liststatus。

相关问题