2014-06-19 2 views
1

Создать папку [LOAN_DATA] с помощью следующей командыHadoop фс -Положите Неизвестный команды

/my_work/hadoop-1.0.3/bin$hadoop fs -mkdir hdfs://masterNode:8020/tmp/hadoop-hadoop/dfs/LOAN_DATA 

Теперь, когда мы открываем с помощью Web URL

Содержание каталога/TMP/Hadoop-Hadoop/ДПП показывает LOAN_DATA

Тогда я хочу, чтобы сохранить некоторые данные из TXT файла в папку LOAN_DATA с помощью PUT или copyFromLocal я получаю

пута: Неизвестный команду

/Hadoop фс -Положите '/home/hadoop/my_work/Acquisition_2012Q1.txt' HDFS: // masterNode: 8020/TMP/Hadoop-Hadoop/ДПП/LOAN_DATA

Как решить эту проблему?

ответ

3

Пробовал вашу команду и «она появляется», в приведенной выше команде «hadoop fs -put ....» есть опечатка.

Вместо '-put' используйте '-put' или '-copyFromLocal'. Проблема заключается в «-», но правильный символ должен быть «-». Таким образом, ошибка очевидна :-)

Вот мой пример (с помощью команды GET вместо пут):

$ hadoop fs –get /tmp/hadoop-data/output/* /tmp/hadoop-data/output/ 
–get: Unknown command 
$ hadoop fs -get /tmp/hadoop-data/output/* /tmp/hadoop-data/output/ 
get: `/tmp/hadoop-data/output/part-r-00000': File exists 
2

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

2

Эта проблема может возникнуть при копировании и вставке команды и ее использовании. Это связано с изменением шрифта (или набора символов), используемого в документе, откуда он был скопирован.

Например:

Если копировать/вставить и выполнить команду -

hdfs dfs -put workflow.xml /testfile/workflow.xml

Вы можете Get-

–put: Unknown command 

ИЛИ

–p-t: Unknown command 

Это происходит потому, что копия выполняется из файла UTF-8, а копия - или u (или любой из символов) может иметь различный набор символов.

Так что только введите команду на терминале (не копируйте/вставляйте), и все должно быть в порядке.

С другой стороны, если вы запускаете скрипт, который был скопирован из затем другой редактор запустить dos2unix на сценарий перед запуском на терминале Linux.

Например: dos2unix <shell_script.sh>

+0

спасибо! это была моя проблема, очень ценю это –

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