我试图在 hdfs 目录中查找文件列表,但当我尝试运行以下代码时,代码将其期望的文件作为输入。
val TestPath2="hdfs://localhost:8020/user/hdfs/QERESULTS1.csv"
val hdfs: org.apache.hadoop.fs.FileSystem = org.apache.hadoop.fs.FileSystem.get(sc.hadoopConfiguration)
val hadoopPath = new org.apache.hadoop.fs.Path(TestPath1)
val recursive = true
// val ri = hdfs.listFiles(hadoopPath, recursive)()
//println(hdfs.getChildFileSystems)
//hdfs.get(sc
val ri=hdfs.listFiles(hadoopPath, true)
println(ri)
最佳答案
您应该首先将默认文件系统设置为hdfs://,我看起来您的默认文件系统是file://
val conf = sc.hadoopConfiguration
conf.set("fs.defaultFS", "hdfs://some-path")
val hdfs: org.apache.hadoop.fs.FileSystem = org.apache.hadoop.fs.FileSystem.get(conf)
...
关于scala - scala中的HDFS文件列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36736954/