列出spark中本地可用的所有文件名的最有效方法是什么?我使用的是scalaapi,但是python应该也可以。
rryofs0p1#
import org.apache.hadoop.fs.{FileSystem, FileUtil, Path} import scala.collection.mutable.Stack 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)
1条答案
按热度按时间rryofs0p1#