如何在HDFS中获取特定目录模式的目录列表,并使用Java选择最新目录?
我需要使用模式从HDFS获取最新目录。这是我想出来的,但这不起作用 目录将类似于如何在HDFS中获取特定目录模式的目录列表,并使用Java选择最新目录?,java,hdfs,Java,Hdfs,我需要使用模式从HDFS获取最新目录。这是我想出来的,但这不起作用 目录将类似于/mnt/output/10000000\u DATA\u 10222019\u 001\u RETRY\u FileSystem fs=FileSystem.get(hdfsConfig); 路径srcPath=新路径(“/mnt/output/10000000\u DATA\u 10222019\u 001*”; 列表路径=新的ArrayList(); RemoteIterator fileIter=fs.lis
/mnt/output/10000000\u DATA\u 10222019\u 001\u RETRY\u
FileSystem fs=FileSystem.get(hdfsConfig);
路径srcPath=新路径(“/mnt/output/10000000\u DATA\u 10222019\u 001*”;
列表路径=新的ArrayList();
RemoteIterator fileIter=fs.listFiles(新路径(String.valueOf(srcPath)),
正确的);
while(fileIter.hasNext()){
字符串filePath=fileIter.next().getPath().toString();
System.out.println(文件路径);
}
有谁能在这里指导我如何正确操作。最新目录是什么意思?目录的最新时间戳或目录名中的时间戳?@目录名中的日期您没有几个名称中具有相同日期的目录吗<代码>“/mnt/output/10000000\u DATA\u 10222019\u 001*”看起来像……不,目录名中的日期将不同,它将不同。我只需要选择一个最新的日期您使用的Hadoop版本是什么?
FileSystem fs = FileSystem.get(hdfsConfig);
Path srcPath = new Path("/mnt/output/10000000_DATA_10222019_001*");
List<String> paths = new ArrayList<>();
RemoteIterator<LocatedFileStatus> fileIter = fs.listFiles(new Path(String.valueOf(srcPath)),
true);
while (fileIter.hasNext()) {
String filePath = fileIter.next().getPath().toString();
System.out.println(filePath);
}