HDFS提供了多种数据访问的方式,其中,命令行的形式是最简单的,同时也是开发者最容易掌握的方式
hadoop fs
hadoop dfs
hdfs dfs
如果使用的Hadoop3版本,需要使用
hdfs dfs
用法:
#上传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可以看到刚刚上传的文件

# 查看上传到HDFS根路径中的文件
hadoop fs -ls /
# 递归查询根目录及根目录下所有目录下的文件
hadoop fs -R /
# 另外一种命令形式
hdfs dfs -ls /
# 通过设置的NameNode名称也可以查看根路径的文件
hadoop fs -ls hdfs://192.168.0.109:9000/

# 统计根目录下所有文件和目录的大小
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

# 创建文件夹 test
hadoop fs -mkdir /test

# 移动jdk文件到test文件夹中
hadoop fs -mv /jdk-8u341-linux-x64.tar.gz /test

# 递归创建temp目录和temp目录下的temp1目录
hadoop fs -mkdir -p /temp/temp1

# 在/temp路径下创建新的空文件文件 `C`
hadoop fs -touchz /temp/c

# 复制/temp/c文件到/app目录下
hadoop fs -cp /temp/c /app

#移动/app目录下的新文件`c`到本地的用户根目录
hadoop fs -get /app/c ~

# 递归删除temp目录,rm删除 -R递归
hadoop fs -rm -R /temp

# 查看a b c三个文件的内容
hadoop fs -cat /a /b /c

#使用方法:hadoop fs -text
#允许的格式是zip和TextRecordInputStream
hadoop fs -text /a

# 合并a b c三个文件,并上传到本地当前目录,本地新文件命名为testfile
hadoop fs -getmerge /a /b /c testfile
