如何从hdfs路径中删除主机信息

时间:2014-08-01 03:07:29

标签: hadoop hdfs filepath

我有一个hdfs路径hdfs://host1:8899/path/to/file。我想以编程方式剥离host1和端口。因此,它应该是hdfs:/path/tofile。有没有帮助方法可以做到这一点?

1 个答案:

答案 0 :(得分:2)

  

"有没有任何辅助方法可以做到这一点?"

创建属于自己的人并不需要太多。只需使用基本的String类实用程序函数,如split()indexOf()substring()等。

这样的事情(使用Java,尽管大多数语言都有这些方法):

public class TestPath {
    public static void main(String[] args) throws Exception {
        String path = "hdfs://localhost:9000/path/to/file";
        System.out.println(getPathWithoutHostAndPort(path));
    }

    public static String getPathWithoutHostAndPort(String path) {
        String[] array = path.split("(//)");
        int indexOfFirstSlash = array[1].indexOf("/");
        StringBuilder builder = new StringBuilder();
        builder.append(array[0]).append(array[1].substring(indexOfFirstSlash));
        return builder.toString();
    }
}
  

结果:hdfs:/path/to/file