文档章节

使用Java操作HDFS的简单代码

yinkaipeng
 yinkaipeng
发布于 2015/01/11 09:52
字数 237
阅读 12
收藏 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 注:以上...

巴利奇
2018/10/30
0
0
kettle 大数据插件操作 hadoop 没有权限的解决方案

原文:http://kcd.nivalsoul.cn/article/1545533237270 问题 在 windows 上使用 kettle 连接 hadoop 写文件的时候,默认使用的是本机登录用户作为文件属主访问 HDFS 文件的,如果目标路径权限...

空山苦水禅人
2018/12/23
0
0
Hadoop入门-单机伪分布式配置

为了配置的的方便建议先提升你的登录用户权限,本配置中凡是要在终端中输入的命令都用红色字体,需注意对应的目录用了色字体标出。 启用超级用户sudo passwd root(然后输入你的超级用户密码...

龙虎组
2012/08/25
0
0
CentOS 6.5 搭建Hadoop 1.2.1集群

记录在64位CentOS 6.5环境下搭建Hadoop 2.5.2集群的步骤,同时遇到问题的解决办法,这些记录都仅供参考! 1、操作系统环境配置 1.1、操作系统环境 1.2、关闭防火墙和SELinux 1.2.1、关闭防火...

巴利奇
2018/10/30
0
0
Hadoop入门进阶步步高(四)-测试Hadoop

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

帅锅锅
2015/08/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

JS 学习笔记

TOC 第一章 手动阀 第二章 嘎嘎的 第三章 是大是大非

davidwbnu
5分钟前
0
0
编译安装sqlite3数据库

环境说明 系统版本:centos7 sqlite版本:3.2 python版本:python3.6 下载安装 下载地址 http://www.sqlite.org/2018/sqlite-autoconf-3230100.tar.gz 解压安装 tar xvf sqlite-autoconf-32......

ZHAO_JH
21分钟前
0
0
Spring Cloud Greenwich 新特性和F升级分享

2019.01.23 期待已久的Spring Cloud Greenwich 发布了release版本,作为我们团队也第一时间把RC版本替换为release,以下为总结,希望对你使用Spring Cloud Greenwich 有所帮助 Greenwich 只支...

冷冷gg
今天
53
1
精读《论语》读后感作文3600字

精读《论语》读后感作文3600字: 学而篇第一:子曰:“学而时习之,不亦说乎?有朋友自远方来,不亦悦乎?人不知,而不愠,不亦君子乎? 朱熹解:即学而又时时习之,则学者熟,而衷心喜悦,其...

原创小博客
今天
3
0
CPU内存结构

开局一张图 由于CPU频率太快了,为解决直接读取内存的数据上的延迟,在CPU和内存之间,存在3级缓存。 CPU在解决和缓存不一致上采用两种方式: 缓存一致性协议 总线锁机制 CPU CPU的一个时钟周...

春哥大魔王的博客
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部