Я хочу получить относительный путь от абсолютного пути, учитывая абсолютный путь базы. Существует ли какой-либо Hadoop Java API, который это делает?Hadoop получить относительный путь от абсолютного пути и базового пути
Например, если мой абсолютный путь 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). Не могу придумать лучшего способа сделать это. –