【hadoop】使用Java API 上传下载数据

这篇具有很好参考价值的文章主要介绍了【hadoop】使用Java API 上传下载数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用Java API上传数据到HDFS

@Test
public void test1() throws Exception {
	//构造一个输入流,代表要上传的数据
	InputStream input = new FileInputStream("d:\\temp\\hadoop-2.7.3.tar.gz");
				
	//NameNodeProxies
	//NameNode

	//指定NameNode 地址
	Configuration conf = new Configuration();
	conf.set("fs.defaultFS", "hdfs://192.168.157.111:9000");
		
	//创建HDFS的客户端 DistributedFileSystem
	FileSystem client = FileSystem.get(conf);
		
	//构造一个输出流,指向HDFS
	OutputStream output = client.create(new Path("/folder1/a.tag.gz"));
		
	//缓冲区
	byte[] buffer = new byte[1024];
	//长度
	int len = 0;
	while( (len = input.read(buffer)) > 0 ) {
		//写到输出流
		output.write(buffer, 0, len);
	}
		
	output.flush();
	output.close();
	input.close();
}

使用工具类简化后的代码:

@Test
public void test2() throws Exception {
	//构造一个输入流,代表要上传的数据
	InputStream input = new FileInputStream("d:\\temp\\hadoop-2.7.3.tar.gz");
		
	//指定NameNode 地址
	Configuration conf = new Configuration();
	conf.set("fs.defaultFS", "hdfs://192.168.157.111:9000");
		
	//创建HDFS的客户端
	FileSystem client = FileSystem.get(conf);
		
	//构造一个输出流,指向HDFS
	OutputStream output = client.create(new Path("/folder1/b.tag.gz"));
		
	//使用工具类简化
	IOUtils.copyBytes(input, output, 1024);
}

HDFS数据的下载

@Test
public void test1() throws Exception{
	//构造一个输出流,指向本地
	OutputStream output = new FileOutputStream("d:\\temp\\x.tar.gz");
		
	//指定NameNode的地址
	Configuration conf = new Configuration();
	conf.set("fs.defaultFS", "hdfs://192.168.157.111:9000");
		
	//创建HDFS的客户端
	FileSystem client = FileSystem.get(conf);
	//得到一个输入流
	InputStream input = client.open(new Path("/folder1/b.tag.gz"));
		
	//构造一个缓冲区
	byte[] buffer = new byte[1024];
	int len = 0;
	while((len=input.read(buffer)) > 0) {
		output.write(buffer, 0, len);
	}
		
	output.flush();
	output.close();
	input.close();
}

使用工具类简化后的代码:文章来源地址https://www.toymoban.com/news/detail-601755.html

@Test
public void test1() throws Exception{
	//构造一个输出流,指向本地
	OutputStream output = new FileOutputStream("d:\\temp\\x.tar.gz");
		
	//指定NameNode的地址
	Configuration conf = new Configuration();
	conf.set("fs.defaultFS", "hdfs://192.168.157.111:9000");
		
	//创建HDFS的客户端
	FileSystem client = FileSystem.get(conf);
	//得到一个输入流
	InputStream input = client.open(new Path("/folder1/b.tag.gz"));
		
	//构造一个缓冲区
	byte[] buffer = new byte[1024];
	int len = 0;
	while((len=input.read(buffer)) > 0) {
		output.write(buffer, 0, len);
	}
		
	output.flush();
	output.close();
	input.close();
}

到了这里,关于【hadoop】使用Java API 上传下载数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java- SFTP文件上传下载

    ​ JSch是Java Secure Channel的缩写,是一个java实现的可以完成sftp上传下载的工具,我们可以集成它的功能到自己的应用程序,本文介绍使用JSch实现的SFTP上传下载的功能。 ChannelSftp类是JSch实现SFTP核心类,它包含了所有SFTP的方法,如 方法名 功能描述 put() 文件上传 get() 文件下载

    2024年01月19日
    浏览(57)
  • 【Java】Web应用的文件上传下载

    🎄欢迎来到@边境矢梦°的csdn博文🎄  🎄本文主要梳理Web应用的文件上传下载🎄 🌈我是边境矢梦°,一个正在为秋招和算法竞赛做准备的学生🌈 🎆喜欢的朋友可以关注一下 🫰🫰🫰 ,下次更新不迷路🎆  Ps: 月亮越亮说明知识点越重要 (重要性或者难度越大)🌑🌒🌓🌔🌕

    2024年02月12日
    浏览(38)
  • 微信小程序文件上传、下载和图片处理、文件操作API的使用

    这次按照我的理解来做这部分的笔记 首先,复习上节课所学的内容。就是网络请求api的使用  现在我有一个需求就是点击按钮实现获取后端返回的图片  先打开服务器  看一下我们要返回的图片路径  书写结构  看一下返回来的数据。是在data下的banners里。因此我们封装一下

    2024年02月04日
    浏览(49)
  • Java实现HTTP的上传与下载

    相信很多人对于java文件下载的过程都存在一些疑惑,比如下载上传文件会不会占用vm内存,上传/下载大文件会不会导致oom。下面从字节流的角度看下载/上传的实现,可以更加深入理解文件的上传和下载功能。 首先明确,文件下载不仅仅只有下载方,还有服务端也就是返回文

    2024年02月10日
    浏览(38)
  • java连接sftp服务器实现上传下载

    我最初的需求是java读取远程windows服务器的文件。查了一圈,发现将远程服务器作为ftp服务器是最方便快捷的。着手准备,首先要让远程服务器提供ftp服务,再做相关配置,然后通过代码配置远程地址,用户名密码(ftp服务设置)读取文件。 我目前使用的是 freeSSHd.exe,下载后

    2024年02月07日
    浏览(50)
  • Java Web 实现文件上传和下载接口功能

    上传用post或者get请求都可以,这里代码中用post做的示例。 文件下载除了静态访问(及nginx、tomcat等服务器映射到后的文件web路径)下载以外 ,还可以通过流的方式下载,代码如下: 上传用post或者get请求都可以,这里代码中用post做的示例。  ForbiddenException 访问权限异常类

    2024年02月11日
    浏览(50)
  • JAVA Http接口获取文件下载流,将下载的文件上传阿里云

     需要根据,业务数据,将存在第三方平台的数据,下载至本地,或转存阿里云OSS中。

    2024年02月16日
    浏览(48)
  • Java从sftp服务器上传与下载文件

    业务需要从sftp服务器上上传、下载、删除文件等功能,通过查阅资料及手动敲打代码,实现了操作sftp的基本功能,有需求的小伙伴可以看看具体的实现过程。 摘自百度百科:SSH文件传输协议,是一种数据流链接,提供文件访问、传输和管理功能的网络传输协议。 SFTP允许用

    2024年02月11日
    浏览(63)
  • Java从ftp服务器上传与下载文件

    业务需要从ftp服务器上上传、下载、删除文件等功能,通过查阅资料及手动敲打代码,实现了操作ftp的基本功能,有需求的小伙伴可以看看具体的实现过程。 摘自百度百科:文件传输协议(File Transfer Protocol,FTP)是用于在 网络 上进行文件传输的一套标准协议,FTP允许用户以

    2024年02月07日
    浏览(66)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包