Почему использование префикса hdfs:// для пути к файлу позволяет открыть файл?

Я пишу работу Hadoop, которая сканирует страницы. Библиотека, которую я использую, использует файловую систему для хранения данных сканирования во время сканирования. Я был уверен, что библиотеку придется модифицировать для использования HDFS, поскольку для взаимодействия с HDFS необходимо использовать совершенно другой набор классов, в то время как используемая мной библиотека сканера использует java.io.

Однако, когда коллега использовал hdfs://localhost/path/to/storage, для пути к папке хранилища сработал краулер, и он смог записать в файловую систему. Я пытаюсь понять, почему это работает, есть ли что-то другое в jvms на основе hadoop, что заставляет их разрешать пути с префиксом hdfs:// к пути в HDFS?


person Raj    schedule 05.04.2012    source источник
comment
Вы уверены, что это в HDFS, а не в локальной файловой системе?;)   -  person Thomas Jungblut    schedule 05.04.2012
comment
@ThomasJungblut Вы правы. На самом деле он записывался в локальную файловую систему.   -  person Raj    schedule 17.04.2012


Ответы (1)


Я не знаю, какой интерфейс HDFS вы используете. Hadoop предоставляет общий уровень файловой системы. Если вы не укажете адрес NameNode в файле конфигурации Hadoop (в HADOOP_HOME/conf/core-site.xml и имя свойства «fs.default.name»), все ваши «hadoop fs ..." комментарии по умолчанию будут в локальной файловой системе. Итак, если вы не знаете, что такое конфигурация hadoop, хорошей идеей будет включение «hdfs://namenode:port/» в качестве префикса.

person root1982    schedule 05.04.2012