복붙노트

[HADOOP] 스파크 클러스터에서 사용할 수있는 모든 파일은 스칼라 또는 Python을 사용 하둡 HDFS에 저장된 목록?

HADOOP

스파크 클러스터에서 사용할 수있는 모든 파일은 스칼라 또는 Python을 사용 하둡 HDFS에 저장된 목록?

로컬 스파크에서 사용할 수있는 모든 파일 이름을 나열하는 가장 효율적인 방법은 무엇입니까? 내가 스칼라 API를 사용하고 있지만, 파이썬도 잘해야한다.

해결법

  1. ==============================

    1.

    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)
    
  2. from https://stackoverflow.com/questions/23478377/listing-all-files-available-in-spark-cluster-stored-on-hadoop-hdfs-using-scala-o by cc-by-sa and MIT license