两个文件的 Hadoop Put 命令

Hadoop Put command for two files

可以使用以下命令将名为 records.txt 的文件从本地复制到 HDFS

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

但是是否有任何命令可以帮助我们存储一个或两个不同名称的文件以将其复制到 hdfs 中?

使用 put 命令参数,您可以提供一个或多个源文件,如前所述 here。所以尝试这样的事情:

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

来自 hadoop shell 命令用法:

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. 

可以使用 copyFromLocal 命令完成,如下所示:

hduser@ubuntu:/usr/local/pig$ hadoop dfs -copyFromLocal /home/user/Downloads/records1.txt /home/user/Downloads/demo.txt /user/pig/output