2015-03-10 8 views
1

Я пытаюсь прочитать файл свойств Java, который находится на HDFS, как это:Прочитайте файл свойств из HDFS

try { 
    properties.load(new FileInputStream("hdfs://user/hdfs/my_props.properties")); 
} catch (IOException e) { 
    throw new RuntimeException("Properties file not found."); 
} 

Но это, кажется, не работает, и я получаю «Свойства файл не найден «. исключение. Если я заменю путь к локальному файлу, он отлично работает, и я могу прочитать файл.

Возможно ли прочитать файл HDFS с использованием FileInputStream?

Спасибо!

ответ

1

Надеюсь, вам нужно использовать банки с хаосом, а также нужно, чтобы FileSystem читала файлы HDFS. Что-то вроде этого должно быть поставлено перед вашим кодом.

Path pt=new Path("hdfs://user/hdfs/my_props.properties"); 
FileSystem fs = FileSystem.get(new Configuration()); 

См: FileInputStream for a generic file System

+0

Я получаю "Неправильные FS: HDFS: // Localhost: 9000/пользователь/HDFS/my_props.properties, ожидаемые: HDFS: // службы имен" исключение. Любые идеи, как правильно установить путь? – user2727704

+0

Работает после передачи namenode: 8020/path/to/file. Благодарю. – user2727704