HDFS常用命令

时间:2023-02-09 07:41:43

HDFS 常用的文件操作命令

hdfs dfs -text /pub/20151019/1/4/gwmvod/mediags.moretv.com.cn/*.bz2 | wc -l

 hdfs dfs -du -s -h /pub/20151019/1/4/gwmvod/mediags.moretv.com.cn 查看容量大小 

1.-cat 
使用方法:hadoop fs -cat URI 
说明:将路径指定的文件输出到屏幕 
示例: hadoop fs -cat hdfs://host1:port1/file 
hadoop fs -cat file:///file3

2.-copyFromLocal 
使用方法:hadoop fs -copyFromLocal <localsrc>URI 
说明: 将本地文件复制到 HDFS 中。

3.copyToLocal 
使用方法:hadoop fs -copyToLocal <localsrc>URI 
说明: 将一个文件从 HDFS 系统中复制到本地文件

4.-cp 
使用方法:hadoop fs -cp URI 
说明:将文件从源路径复制到目标路径。这个命令可以复制多个源路径,但是目标路径必须 
是一个目录 
示例: hadoop fs -cp /user/file /uesr/files 
Hadoop fs -cp /user/file1 /user/files /user/dir

5.-du 
使用方法:hadoop fs -du URI 
说明: 显示目录中所有文件大小,或者指定一个文件时,显示此文件大小 
示例: hadoop fs -du /user/dir1 
Hadoop fs -du hdfs://host:port/user/file

6.-dus 
使用方法:hadoop fs -dus <ars> 
说明: 显示目标文件大小

7.-expunge 
使用方法:hadoop fs -expunge 
说明: 用于清空回收站

8.-get 
使用方法:hadoop fs -get <locaodst> 
说明:复制文件到本地文件系统。 
示例: hadoop fs -get /user/file localfile 
Hadoop fs -get hdfs://host:port/file localfile

9.-ls 
使用方法:hadoop fs -ls <arg> 
说明:浏览本地文件,并按如下格式返回文件信息 
文件名<副本数> 文件大小 修改日期 权限 用户 ID/组 ID 
如果浏览的是一个木渎,则返回其子文件的一个列表,信息如下: 
目录名<dir> 修改日期 修改时间 权限 用户 ID/组 ID 
示例: hadoop fs -ls /user/file 
Hadoop fs -ls hdfs://host:port/user/dir

10.-lsr 
使用方法:hadoop fs -lsr 
说明: 递归第查阅文件内容

11.-mkdir 
使用方法:hadoop fs -mkdir<path> 
说明: 创建对应的文件目录,并直接创建相应的父目录 
示例: hadoop fs -mkdir /user/dir1/dir2/dir3/file 
Hadoop fs -mkdir hdfs://host:port/user/dir

12.-mv 
使用方法:hadoop fs -mv URI <dest> 
说明: 将源文件移动到目标路径,这目标路径可以有多个,不允许在不同文件系统移动。 
示例: hadoop fs -mv /user/file1 /user/file2 
Hadoop fs -mv hdfs://host:port/file1 hdfs://host:prot/file2

13.-put 
使用方法:hadoop fs -put<localsrc> <dst> 
说明: 从本地文件系统复制单个或多个源路径到目标文件系统。 
示例: hadoop fs -put localfile /user/file 
hadoop fs -put localfile hdfs://host:port/user/file

14.-rm 
使用方法: hadoop fs -rm URI 
说明:删除指定的文件,且要求非空的目录和文件。 
示例: hadoop fs -rm hdfs://host:port/file

15.-rmr 
使用方法: hadoop fs -rmr URI 
说明:递归地删除指定文件中的空目录。

16.-Setrep 
使用方法: hadoop fs -setrep [R] <path> 
说明: 改变一个副本复制份数 
示例: hadoop fs -setrep -w 3 -R /user/file

17.-Test 
使用方法:hadoop fs -test -[ezd] URI 
说明: 使用 e z d 对文件进行检查 
-e 检查文件是否存在,若存在返回值为 0; 
-z 检查文件是否为 0 字节,如果是则返回 0; 
-d 检查路径是否为目录,如果是则返回 1,否则返回 0

18.-text 
使用方法:hadoop fs -text <src> 
说明:将源文件输出为文本格式,运行的格式是 zip 以及 Text 类 
以上是 HDFS 中使用命令行对 HDFS 中文件进行操作,与一般操作命令类似,例如我们 
将某一个文件从本地的文件系统复制到 HDFS 中。可以通过执行以下命令进行操作: 
$ hadoop fs -copyFromLocal /user/localFile.txt sample.txt 
此部分代码通过调用命令 fs,指定执行脚本命令-copyFromLocal,将本地文 localFile.txt 
复制到运行在 localhost 上的 HDFS 文件系统中。

19. part-r-00000.snappy 这种文件能直接用类似 cat 的命令查看吗

hdfs dfs -text /tmp/output/part-r-00000.snappy | less