Hadoop之HDFS文件操作

本文介绍了Hadoop的HDFS文件操作,包括创建目录、查看文件信息、上传下载文件、检索文件及删除文件等基本操作。使用hadoop fs -cmd <args>命令行进行交互,如-hmkdir创建目录,-ls和-lsr列出文件信息,-put上传文件,-get下载文件,-cat查看文件内容,-rm删除文件。同时,通过管道功能结合Linux命令如head和tail增强交互体验。

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

Hadoop的文件命令采取的形式为:hadoop fs -cmd <args>

其中cmd是具体的文件命令,而<args>是一组可变的参数。cmd的命名通常与Linux对应的命名相同。

1、添加文件和目录

创建目录:

hadoop fs -mkdir /user/root   (Hadoop的mkdir命令会自动创建父目录,类似于Linux中的mkdir -p)

查看目录或文件信息:

hadoop fs -ls /user

hadoop fs -lsr / (lsr命令可以看到所有的子目录,类似于Linux中的ls -r

上传本体文件到HDFS

hadoop fs -put /usr/example.txt /user/root/input


上图中文件权限后面的数字1表示所列给出的文件的复制因子(伪分布式下它永远为1),复制因子不适用于目录,所以目录前面给出的为-

2、检索文件

从HDFS取回文件

hadoop fs -get /user/root/input/example.txt /usr

访问HDFS中的文件

hadoop fs -cat /user/root/input/example.txt

Hadoop中的命令可以使用管道转给Linux中的命令,例如hadoop fs -cat /user/root/input/example.txt | head

Hadoop支持tail命令来查看文件的最后1000个字节

hadoop fs -tail /user/root/input/example.txt 

3、删除文件

hadoop fs -rm /user/root/input/example.txt
4、编程读写HDFS

import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;

public class uploadFile {

	public static void main(String[] args) throws IOException{
		Configuration conf = new Configuration();
		FileSystem hdfs = FileSystem.get(conf);
		FileSystem localFile = FileSystem.getLocal(conf);
		
		Path localPath  = new Path(args[0]);	//设定输入文件和输出文件目录
		Path hdfsPath = new Path(args[1]);
		
		FSDataInputStream in = localFile.open(localPath);//得到本地文件生成输入流
		FSDataOutputStream out = hdfs.create(hdfsPath);//生成HDFS输出流
		int bytesRead = 0;
		byte[] buffer = new byte[256];
		while((bytesRead=in.read())!=0){
			out.write(buffer, 0, bytesRead);
		}
		in.close();
		out.close();
	}

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值