HDFS的基本操作(创建目录或文件、查看目录或文件、上传和拷贝文件到HDFS上、追加数据到HDFS上、从HDFS上下载文件到Linux本地、合并HDFS文件)

本文详细介绍了HDFS(HadoopDistributedFileSystem)的各种shell命令,包括创建目录、查看文件内容、文件上传下载、删除文件、管理磁盘空间、数据移动以及修改文件副本设置等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

主要涉及HDFS shell操作命令,包括创建目录或文件、查看目录或文件、上传和拷贝文件到HDFS上、追加数据到HDFS上、从HDFS上下载文件到Linux本地、合并HDFS上多个文件并下载、删除HDFS上的文件、查看各种命令的用法等。


一、HDFS的相关命令

1、在HDFS创建目录

#hdfs dfs -mkdir /要创建的目录
hdfs dfs -mkdir /data
# -p表示创建多级目录,父目录和子目录一起
hdfs dfs -mkdir -p /usr/opt/data

2、查看当前目录

#ls 目录名xxx:列出目录名下的可见文件
#查看data目录下的所有可见内容
hdfs dfs -ls /usr/opt/data
#查看hdfs根目录下的内容
hdfs dfs -ls /
#查看本地Linux系统根目录下的内容
hdfs dfs -ls file:/// #相当于 ls /
#查看hdfs上目录
hdfs dfs -ls hdfs://hadoop100:8020/
#显示文件size
hdfs dfs -ls -h /data

3、查看目录与子目录

#查看根目录下的目录以及目录下的子目录
hdfs dfs -ls -R/

4、查看文件的内容

#-cat命令:将文件内容显示出来(适合小文件)
hdfs dfs -cat /usr/opt/data/a.txt
#-haed命令:查看文件前1KB的内容
hdfs dfs -head /usr/opt/data/a.txt
#-tail命令:查看文件最后1KB的内容
hdfs dfs -tail /usr/opt/data/a.txt
#-tail -f命令:可以动态显示文件中追加的内容
#在Linux系统中
tail -f 1.txt 
#hdfs
hdfs dfs -tail -f /usr/opt/data/a.txt

5、创建文件

#本地创建文件 touch
touch a.txt b.txt c.txt
#创建不存在的文件,连续创建多个空文件,用空格隔开

6、上传和拷贝文件

#-put命令:从本地文件系统拷贝到HDFS,其中/xxx/xxx/为hdfs中的路径
hdfs dfs -put a.txt /usr/opt/data
#-copyFromLocal命令:从本地文件系统拷贝到HDFS,效果与-put命令等同
hdfs dfs -copyFromLocal b.txt /usr/opt/data
#-moveFromLocal命令:从本地文件系统剪切到HDFS,命令执行完后本地文件就没有了
hdfs dfs -moveFromLocal c.txt /usr/opt/data

7、追加数据到HDFS文件中

#-appendToFile命令:将所有给定本地文件的内容追加到hdfs文件,hdf文件不存在,则创建该文件
hdfs dfs -appendToFile d.txt /usr/opt/data/a.txt

8、下载文件到Linux本地系统

#-get命令:获取文件
#将hdfs上的a.txt文件,下载到本地Linux系统的root目录下
hdfs dfs -get /usr/opt/data/a.txt /root/

9、合并HDFS上多个小文件,并下载到本地

#-getmerge命令:将hdfs中的文件合并到本地文件系统的单个文件
#将hdfs上data目录下的文件,合并,并下载到Linux系统的指定目录下
hdfs dfs -getmerge /usr/opt/data/ /opt/merge
#-getmerge -nl命令:在每个文件末尾添加换行符
#-getmerge -skip-empty-file命令:跳过空文件进行合并

10、删除HDFS上的指定目录下的文件

#删除HDFS上usr/opt/data/目录下的a.txt文件
#-rm命令:删除文件,-r:目录/子目录下所有内容
hdfs dfs -rm -r /usr/opt/data/a.txt

11、删除HDFS上的指定目录

#删除HDFS上/usr/opt/data目录的data目录
hdfs dfs -rm -r /usr/opt/data

12、查看命令的详细用法

#-help命令:输出rm命令参数
hdfs dfs -help rm

13、查看HDFS磁盘空间

#-df -h命令:显示文件系统的容量,可用空间和已用空间
hdfs dfs -df -h /

14、查看HDFS文件使用的空间量

#-du -s命令:表示显示指定路径文件长度的汇总摘要,不是单个文件的摘要
hdfs dfs -du -s 
#-du -h命令:人性化的显示文件大小
hdfs dfs -du -s -h /usr/opt/data

15、HDFS数据移动操作

#-mv命令:移动文件到指定文件夹下,并且重命名文件的名称
hdfs dfs -mv /usr/opt/data/a.txt /tmp/aaa.txt

16、修改HDFS文件副本个数

#-setrep -R:修改文件夹下及其所有
#-setrep -w:客户端是否等待副本修改完毕
hdfs dfs -settrep 2 /usr/opt/data/a.txt
Hadoop分布式文件系统(HDFS)中,目录操作是非常重要的部分。以下是一些常见的HDFS目录操作及其命令: 1. **创建目录**: 使用`hdfs dfs -mkdir`命令可以在HDFS创建目录。 ```bash hdfs dfs -mkdir /user/hadoop/new_directory ``` 2. **查看目录内容**: 使用`hdfs dfs -ls`命令可以查看指定目录的内容。 ```bash hdfs dfs -ls /user/hadoop ``` 3. **删除目录**: 使用`hdfs dfs -rm`命令可以删除文件,使用`hdfs dfs -rm -r`命令可以删除目录及其内容。 ```bash hdfs dfs -rm -r /user/hadoop/new_directory ``` 4. **复制文件目录**: 使用`hdfs dfs -cp`命令可以将文件从一个位置复制到另一个位置。 ```bash hdfs dfs -cp /user/hadoop/file.txt /user/hadoop/new_directory/ ``` 5. **移动文件目录**: 使用`hdfs dfs -mv`命令可以将文件从一个位置移动到另一个位置。 ```bash hdfs dfs -mv /user/hadoop/file.txt /user/hadoop/new_directory/ ``` 6. **查看目录大小**: 使用`hdfs dfs -du`命令可以查看指定目录的大小。 ```bash hdfs dfs -du -h /user/hadoop ``` 7. **更改目录权限**: 使用`hdfs dfs -chmod`命令可以更改目录的权限。 ```bash hdfs dfs -chmod 755 /user/hadoop/new_directory ``` 8. **更改目录所有者**: 使用`hdfs dfs -chown`命令可以更改目录的所有者。 ```bash hdfs dfs -chown hadoop:supergroup /user/hadoop/new_directory ``` 这些命令是HDFS中最常用的目录操作命令,掌握这些命令可以帮助你更好地管理操作HDFS中的数据
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值