Je souhaite obtenir le chemin relatif à partir d'un chemin absolu, étant donné le chemin de base absolu. Y a-t-il une API Hadoop Java qui le fait?Hadoop obtient le chemin relatif du chemin absolu et du chemin de base
Par exemple, si mon chemin HDFS absolu est abs_path = hdfs://name-node/level1/level2/level3
et mon chemin de base absolue est abs_base_path = hdfs://name-node/level1
, je voudrais extraire le chemin relatif de abs_path
, qui serait rel_path = level2/level3
. Je suis familier avec l'utilisation du constructeur de chemin pour combiner deux chemins.
Par exemple, si je le rel_path
et abs_base_path
, je peux utiliser un des constructeurs surchargées dans la classe Path http://hadoop.apache.org/docs/current/api/org/apache/hadoop/fs/Path
pour construire abs_path
mais je ne peux pas trouver une API pour faire l'inverse.
La façon dont j'ai trouvé est de convertir abs_base_path et abs_path en String do abs_path_str.replace (abs_base_path_str, StringUtils.EMPTY). Je ne peux pas penser à une meilleure façon de le faire. –