diff --git a/escheduler-common/src/main/java/cn/escheduler/common/utils/HadoopUtils.java b/escheduler-common/src/main/java/cn/escheduler/common/utils/HadoopUtils.java index b76d6347da..bba9e610fc 100644 --- a/escheduler-common/src/main/java/cn/escheduler/common/utils/HadoopUtils.java +++ b/escheduler-common/src/main/java/cn/escheduler/common/utils/HadoopUtils.java @@ -28,6 +28,7 @@ import org.apache.hadoop.fs.FSDataInputStream; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.FileUtil; import org.apache.hadoop.fs.Path; +import org.apache.hadoop.fs.FileStatus; import org.apache.hadoop.yarn.client.cli.RMAdminCLI; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -263,6 +264,22 @@ public class HadoopUtils implements Closeable { return fs.exists(new Path(hdfsFilePath)); } + /** + * Gets a list of files in the directory + * + * @param filePath + * @return {@link FileStatus} + */ + public FileStatus[] listFileStatus(String filePath)throws Exception{ + Path path = new Path(filePath); + try { + return fs.listStatus(new Path(filePath)); + } catch (IOException e) { + logger.error("Get file list exception", e); + throw new Exception("Get file list exception", e); + } + } + /** * Renames Path src to Path dst. Can take place on local fs * or remote DFS.