Нет такого файла или каталога с hdfs - PullRequest
0 голосов
/ 16 мая 2018

Когда я делаю

$ ls

Я нахожу файл с именем: file_name.csv

Однако, когда я пытаюсь сделать

$ hdfs dfs -put /home/user_name/file_name.csv tempfolder 

(/home / user_name / - это место, где находится file_name.csv, а tempfolder - это временная папка, которую я создал в hdfs).Там написано

"` /home/user_name/file_name.csv ': такого файла или каталога нет "

, даже если он там есть.Есть ли причина этого или кто-нибудь знает, как это исправить?

Примечание: Если это уместно, когда я звоню hdfs dfs ... , этос судо.Итак

sudoing "hdfs dfs -put /home/user_name/file_name.csv tempfolder"

Ответы [ 2 ]

0 голосов
/ 17 мая 2018

Во-первых, '/home/user_name/file_name.csv': No such file or directory" - ошибка вашего локального компьютера. Если вы видите файл с ls, тогда выполните $PWD/file_name.csv

Судо имеет мало общего с этой проблемой.

Есть разница между

 hdfs:///tempfolder
 hdfs:///user/username/tempfolder

А если вы sudo, вы запускаете команды от имени другой учетной записи пользователя, а не от себя.

Ошибка должна быть такой же для

hdfs dfs -ls /user/username/tempfolder

Вам нужен каталог пользователя, если вы не указали абсолютный путь. Другими словами, команды hdfs всегда предполагают, что по умолчанию вы пишете в пользовательскую папку HDFS.

пока tempfolder - это временная папка, которую я создал в hdfs

создано как?

Использование sudo? Потому что тогда каталог для вашей учетной записи пользователя не будет существовать в HDFS.

Вы создали /tempfolder? Эта начальная косая черта очень важна и должна быть сохранена в вашей команде пут

Если эта папка HDFS еще не существует, косая черта также важна - в противном случае вы копируете CSV-файл в файл без расширения с именем tempfolder

0 голосов
/ 16 мая 2018

Может быть, это расширение оболочки.Попробуйте полный путь к месту назначения:

hdfs dfs -put /home/user_name/file_name.csv /tempfolder
...