python - 使用 Scala 或 Python 列出存储在 Hadoop HDFS 上的 Spark 集群中可用的所有文件?

标签 python scala hadoop apache-spark

列出 Spark 本地可用的所有文件名的最有效方法是什么?我正在使用 Scala API,但是,Python 也应该没问题。

最佳答案

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)

关于python - 使用 Scala 或 Python 列出存储在 Hadoop HDFS 上的 Spark 集群中可用的所有文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23478377/

相关文章:

scala - 如何将 json4s 库添加到 Scala

python - 使用MRJob将作业提交到EMR群集

hadoop - 将文件添加到 Hadoop 分布式缓存

python - 修复由(某些)转义反斜杠破坏的 unicode 字符串

python - 以列表为值的字典 - 查找最长列表

python - BeautifulSoup 只抓取最后的结果

scala - 在 Scala 中的 List[Either] 上使用 flatMap

java - 内部类反向引用保留的对象是什么意思

eclipse - 如何使用Eclipse从Windows运行Map Reduce程序

python - 我们可以在 pandas 的 iloc 中使用 contains 属性吗?