Hadoop命令管理HDFS文件

本教程帮助你学习HDFS管理我们的文件。您将学习如何在HDFS创建、上传、下载列表内容

本教程帮助你学习HDFS管理我们的文件。您将学习如何使用HDFS创建、上传、下载和列表内容。下面的命令将帮助你如何创建HDFS目录结构,从本地文件系统中的文件复制到HDFS和HDFS文件下载到本地文件。学习怎么在HDFS管理文件。

在HDFS创建目录

将路径的URI作为参数,并创建一个目录或多个目录。
$ hdfs dfs -mkdir 
请记住,你必须在HDFS创建主目录与系统的用户名。比如你登录为您的系统上hduser,所以首先要创建 /user/hduser 否则你会得到这个错误,现在它里面创建的目录结构
$ hdfs dfs -mkdir /user/hduser
$ hdfs dfs -mkdir /user/hduser/input
$ hdfs dfs -mkdir /user/hduser/output 
$ hdfs dfs -mkdir /user/hduser/input/text  /user/hadoop/input/xml

将文件复制到HDFS

创建目录结构后,现在从本地文件系统中放一些文件到HDFS。
$ hdfs dfs -put  ... 
例如,你在当前目录和/tmp/test2.xml已经test1.txt的本地文件系统上。
$ hdfs dfs -put text1.txt /user/hduser/input/text/
$ hdfs dfs -put /tmp/text2.xml /user/hduser/input/xml/

从HDFS文件列表

使用下面的示例命令列出目录的内容HDFS。
$ hdfs dfs -ls /user/hduser
$ hdfs dfs -ls /user/hduser/input/
$ hdfs dfs -ls /user/hduser/input/text/
使用 -R 递归地列出目录内的文件。例如:
$ hdfs dfs -ls -R /user/hadoop/input/

从HDFS文件下载

此时,你已经学会了HDFS如何查看清单文件和复制。现在,使用下面的示例命令如何从HDFS下载/复制文件到本地文件系统。
$ hdfs dfs -get /user/hduser/input/text/test1.txt /tmp/
$ hdfs dfs -get /user/hadoop/dir1/xml/test2.xml /tmp/
这里 /tmp 是系统的本地文件系统上。

HDFS目录之间复制文件

您可以使用DistCp使HDFS文件系统之间轻松复制文件
$ hdfs distcp /user/hduser/input/xml/text2.xml /user/hduser/output
$ hdfs distcp /user/hduser/input/text/text1.xml /user/hduser/output