9
Chcę odczytać plik z systemu plików Hadoop.ścieżka pliku w hdfs
Aby uzyskać prawidłową ścieżkę pliku, potrzebuję nazwy hosta i adresu portu hdfs
.
więc w końcu moja ścieżka pliku będzie wyglądać następująco
Path path = new Path("hdfs://123.23.12.4344:9000/user/filename.txt")
Teraz chcę wiedzieć, aby wyodrębnić nazwy hosta = „123.23.12.4344” & portu: 9000?
Zasadniczo chcę uzyskać dostęp do FileSystem na Amazon EMR, ale kiedy używam
FileSystem fs = FileSystem.get(getConf());otrzymuję
You possibly called FileSystem.get(conf) when you should have called FileSystem.get(uri, conf) to obtain a file system supporting your pathPostanowiłem więc użyć URI. (Muszę używać URI), ale nie jestem pewien, jak uzyskać dostęp do URI.
Dzięki za to! Pomogło, możesz wyjaśnić, dlaczego tak jest? – ruralcoder
Hadoop ma fabrykę FileSystem. Tworzy prawidłowy system plików oparty na schemacie URI i być może część URI dotycząca uprawnień. Możesz zobaczyć, czy chcesz otworzyć plik w pliku: //, s3: // lub hdfs: // potrzebujesz innego systemu plików dla każdego z nich. Dlatego należy podać identyfikator URI – Wheezil
fs.default.name jest przestarzałe, każdy czytelnik tego pytania powinien zamiast tego użyć fs.defaultFS. – chomp