我想从绝对路径得到相对路径,给定绝对基路径。有没有hadoopjavaapi可以做到这一点?
例如,如果我的绝对hdfs路径是 abs_path = hdfs://name-node/level1/level2/level3
我的基本路线是 abs_base_path = hdfs://name-node/level1
,我想从 abs_path
,也就是 rel_path = level2/level3
. 我熟悉使用路径构造函数来组合两条路径。
例如,如果我有 rel_path
以及 abs_base_path
,我可以使用path类中的一个重载构造函数 http://hadoop.apache.org/docs/current/api/org/apache/hadoop/fs/Path
建造 abs_path
但是我找不到一个api来做相反的事情。
2条答案
按热度按时间nue99wik1#
这实际上是在
FileOutputCommitter
的源代码。相关功能是其思想是为基目录创建一个uri,然后为这个新的、相对化的uri创建一个新路径。
希望有帮助。
xxb16uws2#
在使用getparent()递归时生成一个字符串,直到当前路径等于基路径,怎么样?下面是一个helper函数,它可以做您想做的事情(我还没有测试过,但这个想法可能会有所帮助)