介绍
操作 文件系统 命令,类似 linux 的 ls、mkdir、cat 等命令
有以下3种:
hadoop fs:操作 HDFS 文件系统,并支持的其他文件系统,如本地 FS、WebHDFS、S3 FS 等。官方链接 (官方推荐)hdfs dfs:只能操作 HDFS 文件系统,参数 与hadoop fs相同。官方链接
执行下面命令:hdfs dfs提示如下:
Usage: hadoop fs [generic options]推荐使用
hadoop fs
hadoop dfs:废弃
帮助
可查看所有命令
hadoop fs -help
创建目录(mkdir)
hadoop fs -mkdir /data
创建多级目录
创建多级目录,当目录不存在时,自动创建
hadoop fs -mkdir -p /top/malaoshi/data
ls
相当于linux的ls命令
hadoop fs -ls /
显示如下:
drwxr-xr-x - root supergroup 0 2021-02-09 19:16 /data
递归地显示子目录下的内容
hadoop fs -ls -R /
显示结果如下:
drwxr-xr-x - root supergroup 0 2021-02-09 19:16 /data
drwxr-xr-x - root supergroup 0 2021-02-09 20:03 /top
drwxr-xr-x - root supergroup 0 2021-02-09 20:03 /top/malaoshi
drwxr-xr-x - root supergroup 0 2021-02-09 20:03 /top/malaoshi/data
删除文件、目录(rm)
删除文件
hadoop fs -rm /top/malaoshi/data/1.txt
删除目录(不论该目录是否有文件)
递归删除所有文件,然后再删除该目录
hadoop fs -rm -r /result
删除目录(必须是空目录)
该目录没有文件时,才能删除
hadoop fs -rmdir /data
上传
将 linux 本地文件 上传到 HDFS 文件系统中
创建 文本文件
创建文件 data.txt
vim /data.txt
内容如下:
李雷
韩梅梅
lucy
lili
张三
李四
王五
李雷
韩梅梅
lucy
李雷
韩梅梅
李雷
上传命令(put)
hadoop fs -put /data.txt /top/malaoshi/data
将 linux 系统的 /data.txt 文件,上传到 HDFS /top/malaoshi/data 路径
保存文件的位置
core-site.xml中指定的data路径/dfs/data/current/BP-生成的数字/current/finalized/subdir0/subdir0/blk_xxx
文件后缀不是 .meta
如果上传的文件是文本文件,那么该目录下的文件可以直接打开,英文正常显示,中文乱码
下载(get)
hadoop fs -get /top/malaoshi/data/data.txt /tmp
将 HDFS /top/malaoshi/data/data.txt 文件,下载 linux 系统的 /tmp 目录中
显示文件内容(cat)
注意: 只适合查看 小文件,如果大文件,将会显示所有内容,这是不合理的
hadoop fs -cat /top/malaoshi/data/data.txt
显示文件内容(tail)
显示最后1kb的内容,适合查看 大文件 和 小文件
hadoop fs -tail /top/malaoshi/data/data.txt