import org.apache.hadoop.fs.{FileStatus, FileSystem, FileUtil, Path}
/**
* 获取某个目录下所有子目录的路径, 以字符串数组的形式返回
*/
def getOnlineFirstDir: Array[String] = {
// 获取路径
val path = s"s3://transsion-athena${GlobalParameters.path_flag}/online/"
val filePath = new org.apache.hadoop.fs.Path( path )
// 获取文件系统
val fileSystem = filePath.getFileSystem( spark.sparkContext.hadoopConfiguration )
// 获取所有子目录的路径
val allFiles = FileUtil.stat2Paths( fileSystem.listStatus( filePath ) )
val res = allFiles.filter( fileSystem.getFileStatus( _ ).isDirectory() ).map( _.toString)
// 返回结果
res
}
spark获取某个目录下所有子目录的路径
最新推荐文章于 2023-04-03 20:55:13 发布