本教程帮助你学习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