путь к файлу в hdfs

Я хочу прочитать файл из файловой системы Hadoop.

чтобы достичь правильного пути к файлу, мне нужно имя хоста и адрес порта hdfs.

Итак, наконец, мой путь к файлу будет выглядеть примерно так:

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

теперь я хочу знать, чтобы извлечь имя хоста = "123.23.12.4344" & port: 9000?

в основном, я хочу получить доступ к файловой системе на Amazon EMR, но, когда я использую

 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 ответов


вы можете использовать любой из двух способов решения вашей ошибки.

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