作者信息
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 -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 -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 -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 -du /home/data/basic
合并文件
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 -mv
目标文件不能存在,否则出错
hadoop fs -mv
源文件有多个时,目标文件夹必须存在
查看文件目录信息
hadoop fs -count /home/data/basic
统计hdfs对应路径下的目录个数,文件个数,文件总计大小
显示为目录个数,文件个数,文件总计大小,输入路径
欢迎点赞、在看、分享三步走哈~