微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 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());

我得到

 
You possibly called FileSystem.get(conf) when you should have called FileSystem.get(uri,conf) to obtain a file system supporting your path

所以我决定使用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());

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐