如何从HDFS中的Path获取绝对路径

时间:2017-09-26 09:13:36

标签: java hadoop hdfs

我对HDFS非常陌生并面临以下问题:org.apache.hadoop.fs.Path没有类似getAbsolutePath的方法会返回String

toString方法未正确记录,因此使用它是否可靠?

2 个答案:

答案 0 :(得分:2)

org.apache.hadoop.fs.Path应返回完整路径。是的,toString方法几乎没有任何文档,但它的工作原理应该如此!

也许这也可以起作用:

Path p = fs.getFileStatus(new Path(".")).getPath(); 
URI(p.toString()).getPath(); 

参考:http://lucene.472066.n3.nabble.com/Is-there-a-way-to-get-an-absolute-HDFS-path-td3820562.html

答案 1 :(得分:2)

如你所说,依靠" toString"可能不是一个好主意。如果toString的定义将来发生变化,该怎么办?

我认为最好做一些像

这样的事情
path.toURI().getRawPath()