hdfs中的文件路径

我想从Hadoop文件系统中读取该文件。

为了实现文件的正确路径,我需要hdfs主机名和端口地址。

所以最后我的文件路径看起来像

 Path path = new Path("hdfs://123.23.12.4344:9000/user/filename.txt") 

现在我想知道提取HostName =“123.23.12.4344”和端口:9000?

基本上,我想访问Amazon EMR上的FileSystem但是,当我使用时

  FileSystem fs = FileSystem.get(getConf()); 

我明白了

 
当你应该调用FileSystem.get(uri,conf)来获取支持你的路径的文件系统时,你可能会调用FileSystem.get(conf)

所以我决定使用URI。 (我必须使用URI)但我不知道如何访问URI。

您可以使用以下两种方法之一来解决错误。

1。

 String infile = "file.txt"; Path ofile = new Path(infile); FileSystem fs = ofile.getFileSystem(getConf()); 

2。

 Configuration conf = getConf(); System.out.println("fs.default.name : - " + conf.get("fs.default.name")); // It prints uri as : hdfs://10.214.15.165:9000 or something String uri = conf.get("fs.default.name"); FileSystem fs = FileSystem.get(uri,getConf());