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