【Hadoop 2.7.1】HDFS Shell操作的简单试验
HDFS提供了多种数据访问的方式,其中,命令行的形式是最简单的,同时也是开发者最容易掌握的方式
文章目录
- 【Hadoop 2.7.1】HDFS Shell操作的简单试验
- HDFS Shell命令的使用
- 上传文件(put)
- 查看文件列表(ls)
- 统计文件大小(du)
- 创建文件夹(mkdir)
- 移动文件(mv)
- 递归创建文件夹(mkdir -p)
- 创建新文件(touchz)
- 复制文件到指定目录(cp)
- 复制文件到本地(get)
- 递归删除目录(rm)
- 查看文件内容(cat)
- 将文件以文本形式输出(text)
- 合并HDFS多个文件并传至本地( getmerge)
HDFS Shell命令的使用
hadoop fs <args>
hadoop dfs <args>
hdfs dfs <args>
如果使用的Hadoop3版本,需要使用
hdfs dfs
上传文件(put)
用法:
#上传JDK文件到HDFS的根路径
hadoop fs -put ./jdk-8u341-linux-x64.tar.gz /
# 也可以一次上传多个文件
hadoop fs -put file1 file2 …… /
# hadoop3必须用此命令上传
hdfs dfs -put
在HDFS的WEB管理系统中点击Utilities -> Browse the file system
可以看到刚刚上传的文件
查看文件列表(ls)
# 查看上传到HDFS根路径中的文件
hadoop fs -ls /
# 递归查询根目录及根目录下所有目录下的文件
hadoop fs -R /
# 另外一种命令形式
hdfs dfs -ls /
# 通过设置的NameNode名称也可以查看根路径的文件
hadoop fs -ls hdfs://192.168.0.109:9000/
统计文件大小(du)
# 统计根目录下所有文件和目录的大小
hadoop fs -du /
# 统计多个文件的大小
hadoop fs -du /a /b /c /test /app/hadoop-2.7.1.tar.gz
# 也可以统计单各文件的大小
hadoop fs -du /app/hadoop-2.7.1.tar.gz
创建文件夹(mkdir)
# 创建文件夹 test
hadoop fs -mkdir /test
移动文件(mv)
# 移动jdk文件到test文件夹中
hadoop fs -mv /jdk-8u341-linux-x64.tar.gz /test
递归创建文件夹(mkdir -p)
# 递归创建temp目录和temp目录下的temp1目录
hadoop fs -mkdir -p /temp/temp1
创建新文件(touchz)
# 在/temp路径下创建新的空文件文件 `C`
hadoop fs -touchz /temp/c
复制文件到指定目录(cp)
# 复制/temp/c文件到/app目录下
hadoop fs -cp /temp/c /app
复制文件到本地(get)
#移动/app目录下的新文件`c`到本地的用户根目录
hadoop fs -get /app/c ~
递归删除目录(rm)
# 递归删除temp目录,rm删除 -R递归
hadoop fs -rm -R /temp
查看文件内容(cat)
# 查看a b c三个文件的内容
hadoop fs -cat /a /b /c
将文件以文本形式输出(text)
#使用方法:hadoop fs -text <src>
#允许的格式是zip和TextRecordInputStream
hadoop fs -text /a
合并HDFS多个文件并传至本地( getmerge)
# 合并a b c三个文件,并上传到本地当前目录,本地新文件命名为testfile
hadoop fs -getmerge /a /b /c testfile