Как скопировать вывод команды -text HDFS в другой файл?

Есть ли способ скопировать текстовое содержимое файла hdfs в другую файловую систему с помощью команды HDFS:

 hadoop fs -text /user/dir1/abc.txt

Могу ли я распечатать вывод -text в другой файл, используя -cat или любой другой метод?:

 hadoop fs -cat /user/deepak/dir1/abc.txt 

person dewet    schedule 22.08.2014    source источник


Ответы (4)


Как написано в документации, вы можете использовать hadoop fs -cp для копирования файлов в hdfs . Вы можете использовать hadoop fs -copyToLocal для копирования файлов из hdfs в локальную файловую систему. Если вы хотите скопировать файлы из одного hdfs в другой, используйте инструмент DistCp. .

person Aleksei Shestakov    schedule 22.08.2014

В качестве общего совета командной строки вы можете использовать | для другой программы или > или >> для файла, например.

# Will output to standard output (console) and the file /my/local/file
# this will overwrite the file, use ... tee -a ... to append
hdfs dfs -text /path/to/file | tee /my/local/file

# Will redirect output to some other command
hdfs dfs -text /path/to/file | some-other-command

# Will overwrite /my/local/file
hdfs dfs -text /path/to/file > /my/local/file

# Will append to /my/local/file
hdfs dfs -text /path/to/file >> /my/local/file
person samthebest    schedule 22.08.2014

Спасибо, я использовал пример потоковой передачи JAR в папке Hadoop-home lib следующим образом:

hadoop -jar hadoop-streaming.jar -input hdfs://namenode:port/path/to/sequencefile \
-output /path/to/newfile -mapper "/bin/cat" -reducer "/bin/cat" \
-file "/bin/cat" -file "/bin/cat" \
-inputformat SequenceFileAsTextInputFormat

вы можете использовать «/bin/wc», если хотите подсчитать количество строк в файле последовательности hdfs.

person dewet    schedule 22.08.2014
comment
Как это связано с вопросом? - person Priya Ranjan Singh; 06.05.2019

вы можете использовать следующее:

  1. copyToLocal
    hadoop dfs -copyToLocal /HDFS/file /user/deepak/dir1/abc.txt
  2. слияние
    hadoop dfs -getmerge /HDFS/file /user/deepak/dir1/abc.txt
  3. получить
    hadoop dfs -get /HDFS/file /user/deepak/dir1/abc.txt
person Y.Prithvi    schedule 22.08.2014