阅读量:4
HDFS支持的文件操作
HDFS(Hadoop Distributed File System)作为分布式文件系统,提供了一套完整的文件操作命令与API,覆盖文件生命周期管理的核心环节,主要包括以下类型:
1. 文件/目录创建操作
- 创建空文件:使用
hadoop fs -touchz命令,可在HDFS中创建长度为0的空文件(若文件已存在,仅更新其修改时间)。 - 创建目录:使用
hadoop fs -mkdir创建单级目录;若需创建多级目录(如/a/b/c),需添加-p参数,避免父目录不存在时报错。 - 上传本地文件创建:通过
hadoop fs -put <本地路径>将本地文件上传至HDFS,自动在目标路径创建文件;若目标路径已存在同名文件,put命令会覆盖原文件。
2. 文件/目录读取操作
- 查看文件内容:使用
hadoop fs -cat直接在命令行输出文件内容,适用于小文件;大文件建议结合less或more分页查看。 - 下载文件到本地:通过
hadoop fs -get将HDFS中的文件复制到本地文件系统,若本地目标路径已存在同名文件,会报错提示。<本地目标路径> - 批量下载合并文件:使用
hadoop fs -getmerge将HDFS目录下的多个文件合并为一个文件下载到本地,保留原始文件顺序。<本地输出文件> - 读取文件末尾内容:通过
hadoop fs -tail查看文件最后1KB内容,适用于实时日志监控等场景。
3. 文件/目录写入操作
- 上传本地文件:
hadoop fs -put <本地路径>是最常用的写入方式,支持从本地向HDFS传输文件,可指定覆盖或跳过已存在文件。 - 追加内容到文件:使用
hadoop fs -appendToFile <本地文件路径>将本地文件内容追加到HDFS已有文件的末尾,适用于日志追加等场景。 - 流式写入(API):通过Hadoop Java API的
FileSystem.create()方法获取输出流,以流的形式写入数据(如FSDataOutputStream.write()),支持大文件分块写入,是程序化写入的核心方式。
4. 文件/目录删除操作
- 删除文件:使用
hadoop fs -rm删除指定文件,删除后文件不可恢复(除非启用回收站功能)。 - 递归删除目录:删除非空目录需添加
-r参数(如hadoop fs -rm -r),否则会报错“Directory is not empty”。 - 强制/跳过回收站删除:
-f参数强制删除(不提示确认),-skipTrash参数跳过回收站直接永久删除(需谨慎使用,避免误删)。
5. 文件/目录移动与重命名
使用hadoop fs -mv <源路径> <目标路径>实现文件或目录的移动/重命名:
- 同一HDFS集群内移动:将文件从一个目录移动到另一个目录(如
hadoop fs -mv /dir1/file.txt /dir2/); - 重命名:源路径与目标路径在同一目录下时,可实现文件重命名(如
hadoop fs -mv /dir/file.txt /dir/newfile.txt)。
6. 文件/目录权限与管理
- 修改文件权限:使用
hadoop fs -chmod <权限模式>修改文件权限(如hadoop fs -chmod 755 /file.txt,设置所有者可读可写可执行,组和其他用户可读可执行)。 - 修改文件属主/属组:
hadoop fs -chown <所有者>:<组>修改文件的所有者和所属组(如hadoop fs -chown hadoop:hadoop /file.txt)。 - 查看文件信息:
hadoop fs -stat <格式>查看文件的详细元数据(如hadoop fs -stat "%F %u %g %y" /file.txt,分别显示文件类型、所有者、组、修改时间)。
7. 文件/目录查询操作
- 列出目录内容:使用
hadoop fs -ls列出指定路径下的文件和子目录;添加-h参数以人类可读格式显示文件大小(如KB、MB),-R参数递归列出子目录内容。 - 查看目录大小:
hadoop fs -du显示目录下所有文件的总大小;-s参数仅显示总计,-h参数以人类可读格式显示(如hadoop fs -du -sh /dir)。
8. 文件复制操作
使用hadoop fs -cp <源路径> <目标路径>在HDFS内部复制文件或目录:
- 复制文件:
hadoop fs -cp /dir1/file.txt /dir2/file.txt; - 复制目录:添加
-r参数(如hadoop fs -cp -r /dir1 /dir2),递归复制目录及其所有内容。 - 注意:复制操作会生成新的文件副本,原文件保持不变。
以上就是关于“HDFS支持哪些文件操作”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm