10

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

为了实现文件的正确路径,我需要hdfs.

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

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

现在我想知道提取 HostName = "123.23.12.4344" & port: 9000?

基本上,我想访问 Amazon EMR 上的文件系统,但是,当我使用

文件系统 fs = FileSystem.get(getConf());
我明白了
 
当您应该调用 FileSystem.get(uri, conf) 来获取支持您的路径的文件系统时,您可能会调用 FileSystem.get(conf)
所以我决定使用URI。(我必须使用 URI)但我不确定如何访问 URI。

4

1 回答 1

15

您可以使用这两种方法中的任何一种来解决您的错误。

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());
于 2012-11-27T06:48:52.203 回答