前言

本文隶属于专栏《1000个问题搞定大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!

本专栏目录结构和参考文献请见1000个问题搞定大数据技术体系

正文

可以通过命令行接口与 HDFS 系统进行交互,这样更加简单直观。

下面就介绍一些 HDFS 系统的常用操作命令。

ls

使用 ls 命令可以查看 HDFS 系统中的目录和文件。

例如,査看 HDFS 文件系统根目录下的目录和文件,命令如下:

hadoop fs -ls /

递归列出HDFS文件系统根目录下的所有目录和文件,命令如下

hadoop fs -ls -R /

get

将 HDFS 系统中的文件下载到本地,注意下载时的文件名不能与本地文件相同,否则会提示文件已存在。

下载多个文件或目录到本地时,要将本地路径设置为文件夹。

例如, 将 HDFS 根目录中 input 文件夹中的文件 a.txt 下载到本地,命令如下:

hadoop fs -get /input/a.txt /home/hadoop/

将 HDFS 根目录中的 input 文件夹下载到本地,命令如下:

hadoop fs -get /input/ /home/hadoop/

注意:如果用户没有root权限,则本地路径要为用户文件夹下的路径,否则会出现权限问题。

put

将本地文件上传到 HDFS 系统中。

例如,将本地文件 a.txt 上传到 HDFS 的 input 文件夹中,命令如下

hadoop fs -put a.txt /input/

moveFromLocal

将本地文件移动到 HDFS 系统中,可以一次移动多个文件。与 put 命令类似,不同的是该命令执行后源文件将被删除。

例如,将本地文件 a.txt 移动到 HDFS 的 input 文件夹中,命令如下:

hadoop fs -moveFromLocal a.txt /input/

rm

删除 HDFS 系统中的文件或文件夹,每次可以删除多个文件或目录。

例如,删除 HDFS 中 input 文件夹中的文件 a.txt,命令如下:

hadoop fs -rm /input/a.txt 

mkdir

在HDFS系统中创建文件或目录。

例如,在HDFS根目录下创建文件夹 input,命令如下:

hadoop fs -mkdir /input/

也可使用 -p 参数,创建多级目录,如果父目录不存在,则会自动创建父目录。命令如下:

hadoop fs -mkdir -p /input/file

cp

拷贝文件到另一个文件,相当于给文件重命名并保存,但源文件还存在。

例如,将 a.txt 拷贝到 b.txt,并保留 a.txt,命令如下

hadoop fs -cp a.txt b.txt

mv

移动文件到另一个文件,相当于给文件重命名并保存,源文件已不存在。

例如,将 a.txt 移动到 b.txt,命令如下:

hadoop fs -mv a.txt b.txt
上一篇 下一篇