hadoop不是命令 hadoop命令不存在_Hadoop

作者信息

Elesdspline
目前从事NLP与知识图谱相关工作。

工作中需熟练掌握的Hadoop命令

导读

工作中经常要用到一些Hadoop命令,这里简单列举一下,熟悉基本的命令操作,工作效率事半功倍。

Hadoop的基本命令与Linux的基本命令非常相似,对于熟练Linux的同学来说,看五分钟就get到重点了。

Hadoop基本常用命令

在介绍基本常用命令之前,这里有三个命令先加以区分,即 hadoop fs、hadoop dfs 与 hdfs dfs 三个命令。这三个命令都可以完成一些基本的操作,但是稍微有所不同,具体如下:

fs 是一个通用的文件系统,可以指向任何的文件系统如本地系统local,分布式HDFS等, dfs 仅是针对HDFS的。

hadoop fs : 该命令可以用于其他文件系统,不仅仅是HDFS系统,该命令的使用范围更广。

hadoop dfs: 该命令专门针对HDFS分布式文件系统

hdfs dfs: 和 haddoop dfs 命令作用一样,在使用 hadoop dfs 命令时内部会转化为 hdfs dfs命令,相比之下,更为推荐。

下面我们以 hadoop fs 命令来尝试学习常用的基本命令。

命令基本格式:

hadoop fs -cmd 

hadoop fs -cmd

列出目录下的文件和文件夹

列出目录下的文件和文件夹
hadoop fs -ls /home/data/basic 

递归列出目录下的文件和文件夹
hadoop fs -ls -R /home/data/basic 

列出目录下的文件和文件夹
hadoop fs -ls /home/data/basic 

递归列出目录下的文件和文件夹
hadoop fs -ls -R /home/data/basic

创建文件夹

一级一级的建目录,父目录不存在会报错
hadoop fs -mkdir /home/data/basic/new

创建的目录如果父目录不存在同时创建该父目录
hadoop fs -mkdir -p /home/data/basic/new

一级一级的建目录,父目录不存在会报错
hadoop fs -mkdir /home/data/basic/new

创建的目录如果父目录不存在同时创建该父目录
hadoop fs -mkdir -p /home/data/basic/new

上传文件

hadoop fs -put <local file> 
hadoop fs -put ./text.txt /home/data/basic/new/text.txt
hdfs file 的父目录要存在
hadoop fs -put <local file or dir> 
hadoop fs -put ./test.txt /home/data/basic/new/
hdfs dir目录要存在
hadoop fs -put <local file> 
hadoop fs -put ./text.txt /home/data/basic/new/text.txt
hdfs file 的父目录要存在
hadoop fs -put <local file or dir> 
hadoop fs -put ./test.txt /home/data/basic/new/
hdfs dir目录要存在

下载文件

hadoop fs -get  local file or dir>
hadoop fs -get /home/data/basic/new/text.txt ./tmp
local file 和 hdfs file 的名字不能相同,否则会提示文件已存在,没有重名的文件会复制到本地

也可以采用查看文件重定向的方式
hadoop fs -text /home/data/basic/new/text.txt > ./tmp/text.txt

hadoop fs -get  local file or dir>
hadoop fs -get /home/data/basic/new/text.txt ./tmp
local file 和 hdfs file 的名字不能相同,否则会提示文件已存在,没有重名的文件会复制到本地

也可以采用查看文件重定向的方式
hadoop fs -text /home/data/basic/new/text.txt > ./tmp/text.txt

查看文件

hadoop fs -text /home/data/basic/new/text.txt 
hadoop fs -cat /home/data/basic/new/text.txt

hadoop fs -text /home/data/basic/new/text.txt 
hadoop fs -cat /home/data/basic/new/text.txt

删除文件(文件夹)

删除文件
hadoop fs -rm /home/data/basic/new/text.txt
删除文件夹
hadoop fs -rm -r /home/data/basic/new/

删除文件
hadoop fs -rm /home/data/basic/new/text.txt
删除文件夹
hadoop fs -rm -r /home/data/basic/new/

查看文件大小

hadoop fs -du /home/data/basic

hadoop fs -du /home/data/basic

合并文件

hadoop fs -getmerge  <local file>
将 hdfs dir下面的所有文件经过排序合并到 local file 文件
hadoop fs -getmerge /home/data/basic/new/ ./merge.txt
hadoop fs -getmerge  <local file>
将 hdfs dir下面的所有文件经过排序合并到 local file 文件
hadoop fs -getmerge /home/data/basic/new/ ./merge.txt

拷贝文件

hadoop fs -cp  
将hdfs file 拷贝到另外的hdfs路径下,目标文件不能存在,否则出错
hadoop fs -cp  
目标文件夹要存在,否在出错
hadoop fs -cp  
将hdfs file 拷贝到另外的hdfs路径下,目标文件不能存在,否则出错
hadoop fs -cp  
目标文件夹要存在,否在出错

移动文件

hadoop fs -mv  
目标文件不能存在,否则出错
hadoop fs -mv  
源文件有多个时,目标文件夹必须存在
hadoop fs -mv  
目标文件不能存在,否则出错
hadoop fs -mv  
源文件有多个时,目标文件夹必须存在

查看文件目录信息

hadoop fs -count /home/data/basic
统计hdfs对应路径下的目录个数,文件个数,文件总计大小
显示为目录个数,文件个数,文件总计大小,输入路径

hadoop fs -count /home/data/basic
统计hdfs对应路径下的目录个数,文件个数,文件总计大小
显示为目录个数,文件个数,文件总计大小,输入路径


欢迎点赞