2016-12-22 3 views
0

Я установил оба хаоса и искры локально на машине для окон.Как я могу получить искру для доступа к локальной HDFS на окнах?

я могу получить доступ к HDFS файлов в Hadoop, например,

hdfs dfs -tail hdfs:/out/part-r-00000 

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

val f = sc.textFile("hdfs:/out/part-r-00000") 

Я получаю сообщение об ошибке, что файл не существует. Однако Spark может обращаться к файлам в файловой системе Windows, используя синтаксис file:/....

Я установил переменную среды HADOOP_HOME в c: \ hadoop, которая представляет собой папку, содержащую установку hadoop (в частности winutils.exe, которая кажется необходимой для искры, находится в c: \ hadoop \ bin).

Поскольку кажется, что данные HDFS хранятся в папке c: \ tmp, мне было интересно, есть ли способ сообщить об этом месте.

Любая помощь была бы принята с благодарностью. Спасибо.

+0

Я просто понял, что я отправил это в науке данных - я думаю, что это скорее относится к переполнению стека - жаль об этом. –

+0

Spark должен знать о ваших файлах 'hadoop-env.sh',' core-site.xml' и, возможно, 'hdfs-site.xml' –

ответ

0

Если вы получаете файл не существует, это означает, что ваше искровое приложение (фрагмент кода) может подключаться к HDFS. Путь к файлу HDFS, который вы используете, кажется неправильным.

Это должно решить вашу проблему

val f = sc.textFile("hdfs://localhost:8020/out/part-r-00000") 

 Смежные вопросы

  • Нет связанных вопросов^_^