9
我想從Hadoop文件系統中讀取文件。hdfs中的文件路徑
爲了實現文件的正確路徑,我需要hdfs
的主機名和端口地址。
所以最後我的文件的路徑看起來像
Path path = new Path("hdfs://123.23.12.4344:9000/user/filename.txt")
現在我想知道提取主機名=「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。
感謝這個!它有幫助,你能解釋爲什麼這是嗎? – ruralcoder
Hadoop有一個FileSystem工廠。它根據URI方案創建正確的文件系統,也可能是URI的權威部分。你可以看看你是否打開文件://,s3://或hdfs://你需要爲每個文件系統創建一個不同的文件系統。這就是爲什麼你需要包含URI – Wheezil
fs.default.name已被棄用,每個這個問題的讀者應該使用fs.defaultFS來代替。 – chomp