是否可以通过将我的HDFS的URI作为File类的构造函数来创建文件实例?例如:使用指向HDFS的URI创建文件实例
val conf = new Configuration()
conf.addResource(hdfsCoreSitePath)
conf.addResource(hdfsHDFSSitePath)
val uri = conf.get("fs.default.name")
val file = new File(uri + pathtothefile)
然后,与文件实例,我想访问与文件类如file.list()
提供给返回一个字符串名称所表示的目录中的文件和目录的阵列功能的文件列表这个抽象的路径名。我试过了代码,但是它返回file.list()
上的null
。
不推荐下面的方法,因为我正在为普通文件系统和hdfs编写相同的代码库以实现代码可重用。
val fileSystem = FileSystem.get(conf)
val status = fileSystem.listStatus(new Path(filepath))
status.map(x => ...
我提到的方法,VAL文件系统= FileSystem.get(CONF) VAL状态= fileSystem.listStatus(新路径(文件路径)) status.map(X => ... 这是工作,但对于一些原因,我试图使用val file = new File(uri + pathtothefile)这是不工作,我不知道uri文件只适用于正常的文件系统,但不是hdfs –