【发布时间】:2013-07-23 18:37:38
【问题描述】:
在给定绝对基本路径的情况下,我想从绝对路径中获取相对路径。是否有任何 Hadoop Java API 可以做到这一点?
例如,如果我的绝对 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。
【问题讨论】:
-
我想出的方法是将 abs_base_path 和 abs_path 都转换为 String do abs_path_str.replace(abs_base_path_str, StringUtils.EMPTY)。想不出更好的方法来做到这一点。