文档章节

使用Java操作HDFS的简单代码

yinkaipeng
 yinkaipeng
发布于 2015/01/11 09:52
字数 237
阅读 10
收藏 0

以下是代码:

package hdfs;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;

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;
import org.apache.hadoop.io.IOUtils;

public class App2 {
	/**
	 * 
	 * 使用 FileSystem
	 * 
	 * eclipse 创建方法快捷键:alt+shift+M
	 * eclipse 创建局部变量快捷键 alt+shift+L
	 * 
	 * */
	public static final String HDFS_PATH = "hdfs://192.168.9.204:9000";
	private static final String DIR_PATH = "/user/yinkaipeng";
	private static final String FILE_PATH = "/test";

	public static void main(String[] args) throws Exception, URISyntaxException {
		FileSystem fileSystem = FileSystem.get(new URI(HDFS_PATH),new Configuration());

		// 创建文件夹

		CreatePackage(fileSystem);

		// 上传文件

		//UploadFile(fileSystem);

		// 下载文件
	//	Download(fileSystem);
		//删除文件
		//deleteFile(fileSystem);
		
	}

	private static void deleteFile(FileSystem fileSystem) throws IOException {
		fileSystem.delete(new Path(FILE_PATH), true);
		System.out .println("OK!");
	}

	private static void UploadFile(FileSystem fileSystem) throws IOException,
			FileNotFoundException {
		final FSDataOutputStream out = fileSystem.create(new Path(FILE_PATH));
		final FileInputStream in = new FileInputStream("c:/log.txt");
		IOUtils.copyBytes(in, out, 1024, true);
	}

	private static void CreatePackage(FileSystem fileSystem) throws IOException {
		fileSystem.mkdirs(new Path(DIR_PATH));
	}

	private static void Download(FileSystem fileSystem) throws IOException {
		final FSDataInputStream in2 = fileSystem.open(new Path(FILE_PATH));
		IOUtils.copyBytes(in2, System.out, 1024, true);
	}

}

感觉像访问数据库一样吧! 也就是一条shell。

© 著作权归作者所有

共有 人打赏支持
yinkaipeng
粉丝 0
博文 11
码字总数 11509
作品 0
西安
程序员
CDH版本hadoop2.6伪分布式安装

CDH版本hadoop的一个重要分支,使用hadoop-2.6.0-cdh5.9.0在单台CentOS配置hadoop伪分布式环境; 1、基础环境配置 1.1、关闭防火墙和SELinux 1.1.1、关闭防火墙 1.1.2、关闭SELinux 注:以上...

巴利奇
06/26
0
0
Hadoop入门进阶步步高(四)-测试Hadoop

四、测试Hadoop 一个简单的求每年温度最大值的程序。 1、准备两个文本测试数据 准备两个名为data1.txt及data2.txt的文件,用于做为计算的输入数据,将其放于/home/fenglibin/java/data目录下...

帅锅锅
2015/08/18
0
0
3.sparkSQL整合Hive

  spark SQL经常需要访问Hive metastore,Spark SQL可以通过Hive metastore获取Hive表的元数据。从Spark 1.4.0开始,Spark SQL只需简单的配置,就支持各版本Hive metastore的访问。注意,涉...

intsmaze(刘洋)
08/09
0
0
hadoop程序员用自己5年的实战经验告诉我大数据是这样搭建环境

Hadoop由GNU / Linux平台及其版本支持。因此,我们必须安装一个Linux操作系统来设置Hadoop环境。如果您有 除Linux以外的操作系统,您可以在其中安装Virtualbox软件,并在Virtualbox内部安装L...

卢家大少
06/22
0
0
mybatis系统学习(一)——jdbc基础和mybatis

mybatis系统学习(一)——jdbc基础和mybatis 说明 这一次我所想要做的事,是系统的学习一下mybatis,结合官网文档以及各种网络资料和以往实践经验。 既然是系统的学,就免不了需要了解他所要...

优惠券活动
05/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

SSM框架整合Shiro后的开发

手摸手教你SSM框架整合Shiro后的开发 前面,我们学习了Shiro实现权限管理之表结构设计以及JQuery-Ztree.js使用范例 ,接下来就详细介绍一下SSM框架整合Shiro框架后的开发。同样推荐大家参看张...

TyCoding
27分钟前
1
0
Vivado使用误区与进阶

vivado的相关认知。xilinx的专家写的文章。

whoisliang
33分钟前
1
0
使用Nagios打造专业的业务状态监控

想必各个公司都有部署zabbix之类的监控系统来监控服务器的资源使用情况、各服务的运行状态,是否这种监控就足够了呢?有没有遇到监控系统一切正常确发现项目无法正常对外提供服务的情况呢?本...

37丫37
34分钟前
2
1
自定义操作RxJava 学习笔记

二十三,有点让我想起《风云》里面的剑二十三式 RxJava提供了一套非常强大的操作集。如果计算所有重载次数,Rx上的运算符数量超过300。其中少数运算符必不可少,这意味着没有它们就无法实现R...

woshixin
50分钟前
1
0
mysql视图

测试表:user有id,name,age,sex字段 测试表:goods有id,name,price字段 测试表:ug有id,userid,goodsid字段 视图的作用实在是太强大了,以下是我体验过的好处: 作用一: 提高了重用性,...

郭周园
51分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部