scala中的hdfs文件列表
Posted
技术标签:
【中文标题】scala中的hdfs文件列表【英文标题】:Hdfs file list in scala 【发布时间】:2016-04-20 07:38:50 【问题描述】:我正在尝试在 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)
【问题讨论】:
您收到的错误信息是什么?你能简单介绍一下这个问题吗? 错误的 FS:hdfs://localhost:8020/user/hdfs/QERESULTS1.csv,预期:文件:/// at org.apache.hadoop.fs.FileSystem.checkPath(FileSystem.java :642) 我正在尝试使用 scala 查找 hdfs 目录中的文件列表 【参考方案1】:你应该先将你的默认文件系统设置为 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中的hdfs文件列表的主要内容,如果未能解决你的问题,请参考以下文章
使用Java API操作HDFS时,_方法用于获取文件列表?