如何从hdfs路径剥离主机信息

lbsnaicq  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(422)

我有一个hdfs路径 hdfs://host1:8899/path/to/file . 我想脱光衣服 host1 和端口编程。因此,它应该是 hdfs:/path/tofile . 有什么辅助方法可以做到这一点吗?

8i9zcol2

8i9zcol21#

“有没有助手方法可以做到这一点?”
不需要花太多的时间来创造你自己的。只需使用基本的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

相关问题