2015-03-07 4 views
2

файл с именем records.txt от локального до HDFS можно скопировать с помощью следующей командыHadoop Поместите команду для двух файлов

hadoop dfs -put /home/cloudera/localfiles/records.txt /user/cloudera/inputfiles 

Используя вышеприведенную команду файл records.txt будет скопирована в HDFS с то же имя.

Но я хочу, чтобы хранить два файла (records1.txt и demo.txt) в HDFS

Я знаю, что мы можем использовать что-то вроде ниже

hadoop dfs -put /home/cloudera/localfiles/records* /user/cloudera/inputfiles 

, но есть ли команда, которая поможет нам хранить один или два файла с разными именами для копирования в hdf?

ответ

2

С помощью аргумента команды вы можете предоставить один или несколько исходных файлов, как упомянуто here. Так что попробовать что-то вроде:

hadoop dfs -put /home/cloudera/localfiles/records* /home/cloudera/localfiles/demo* /user/cloudera/inputfiles 

С использованием команды Hadoop оболочки:

put 

Usage: hadoop fs -put <localsrc> ... <dst> 

Copy single src, or multiple srcs from local file system to the destination filesystem. Also reads input from stdin and writes to destination filesystem. 

hadoop fs -put localfile /user/hadoop/hadoopfile 
hadoop fs -put localfile1 localfile2 /user/hadoop/hadoopdir 
hadoop fs -put localfile hdfs://nn.example.com/hadoop/hadoopfile 
hadoop fs -put - hdfs://nn.example.com/hadoop/hadoopfile 
Reads the input from stdin. 

Exit Code: 

Returns 0 on success and -1 on error. 
+1

Хорошо .. это то, что .. Ваше решение работает –

2

Это может быть сделано с помощью copyFromLocal coomand следующим образом:

hduser @ Ubuntu:/USR/местные/свиньи $ hadoop dfs -copyFromLocal /home/user/Downloads/records1.txt /home/user/Downloads/demo.txt/user/pig/output

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