文档章节

使用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 注:以上...

巴利奇
10/30
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
Hadoop 2.7.5 集群搭建基于CentOS7u3

记录在64位CentOS 7环境下搭建Hadoop 2.7集群的步骤,这些记录都仅供参考! 1、操作系统环境配置 1.1、操作系统环境 1.2、关闭防火墙和SELinux 1.2.1、关闭防火墙 1.2.2、关闭SELinux 注:以...

巴利奇
10/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

get和post详解

get和post是表单提交的两种方式,get请求数据通过域名后缀URL传送,用户可见,不安全,post请求数据通过在请求报文正文里传输,相对比较安全。get是通过URL传递表单值,post通过URL看不到表单...

青衣霓裳
31分钟前
1
0
linux-如何快速替换IP

在Linux在做高可用的时候,经常会使用到虚拟IP。在windows上一个网卡可以配置两个IP,在Linux直接使用ip命令就可以添加了。 添加 ip address add 192.168.1.200/24 broadcast 192.168.1.255 ...

Linux就该这么学
35分钟前
0
0
Unix-Linux 编程实践教程 第五章 小结

设备文件中用逗号连接起来的两个数字为主设备号和从设备号。主设备号确定实际的设备驱动程序,从设备号作为参数。 如下图中的,主设备号-4,从设备号-2 设备文件中的i-node存储的是指向内核子...

Explorer0
38分钟前
1
0
virtual box centos7 挂载进行文件和共享使用说明

一、virtualbox共享文件夹无访问权限问题解决方法 (转载 http://www.cnblogs.com/zhuguanhao/p/6192777.html) 这篇文章主要介绍了virtualbox共享文件夹无访问权限问题解决方法,造成这个问题...

mbzhong
40分钟前
1
0
Rabbitmq---消息队列

一 . MQ:message queue   消息队列的作用:   1 通信解耦   2 高峰限流 原理分析: 一开始,认证系统是强耦合的,A系统传递认证系统消息接收计算结果的过程中   1 传给认证系统   2 认...

Ala6
45分钟前
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部