列出Spark中本地可用的所有文件名的最有效方法是什么?我正在使用Scala API,但是,Python也应该没问题。
解决方案
import org.apache.hadoop.fs。{FileSystem,FileUtil,Path}
import scala.collection.mutable.Stack
$ b $ val fs = FileSystem.get(sc.hadoopConfiguration)
var dirs = Stack [String]()
val files = scala.collection.mutable.ListBuffer.empty [String]
val fs = FileSystem.get(sc.hadoopConfiguration)
dirs.push("/ user / username /")
while(!dirs.isEmpty){
val status = fs.listStatus(new Path(dirs.pop()))
status.foreach(x => if(x .isDirectory)dirs.push(x.getPath.toString)else
files + = x.getPath.toString)
}
files.foreach(println)
< / code>