文档章节

使用Java操作HDFS的简单代码

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

精选30+云产品,助力企业轻松上云!>>>

以下是代码:

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
博文 16
码字总数 13255
作品 0
西安
程序员
私信 提问
加载中
请先登录后再评论。
第4章 HDFS操作

[TOC] 4.1 命令行操作 可以通过命令行接口与HDFS系统进行交互,这样更加简单直观。下面就介绍一些HDFS系统的常用操作命令。 1.ls 使用ls命令可以查看HDFS系统中的目录和文件。例如,查看HDF...

osc_jor8x3el
2018/07/10
0
0
Uber 开源分布式追踪工具:JVM Profiler

《JVM Profiler: An Open Source Tool for Tracing Distributed JVM Applications at Scale 》 Apache Spark 计算框架已经被广泛用来构建大规模数据应用。对 Uber 而言, 数据是战略决策和产品...

RiboseYim
2018/08/19
3.4K
1
Hadoop学习笔记(二):HDFS操作方法和基础编程

HDFS常用Shell命令 在Shell中,HDFS主要通过或来实现对文件的操作:查看、上传和下载、创建文件等。主要的区别在于: :适用于任何文件系统 :只适用于HDFS文件系统 要查看hdfs dfs总共支持哪...

粟海淘沙
2019/05/03
12
0
Hadoop集成Spring的使用

Spring Hadoop简单概述 Spring Hadoop官网地址如下: https://projects.spring.io/spring-hadoop/ Spring Hadoop简化了Apache Hadoop,提供了一个统一的配置模型以及简单易用的API来使用HDF...

狼王黄师傅
2018/10/08
59
0
大数据hadoop学习【6】-----通过JAVA编程实现对HDFS文件操作的JAVA整体项目

大数据hadoop学习【6】-----通过JAVA编程实现对HDFS文件操作的JAVA整体项目目录 一、JAVA项目的整体结构介绍 1、项目目录展示 2、项目中类的功能的解释 3、项目文件数据准备 二、题目要求内容...

陈一月的编程岁月
04/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

【题解】p6160 [Cnoi2020]向量

原题传送门 序 啊又是勤奋学习的一天...... 这种mo题目能做出来纯靠感觉。 样例分析 样例输入给了组3、4、5的勾股数,而输出正好是三向量加和为0时的答案。 嗯我好像感觉到了什么...... 于是...

osc_4dady4pk
57分钟前
13
0
【题解】p6160 [Cnoi2020]向量

原题传送门 序 啊又是勤奋学习的一天...... 这种mo题目能做出来纯靠感觉。 样例分析 样例输入给了组3、4、5的勾股数,而输出正好是三向量加和为0时的答案。 嗯我好像感觉到了什么...... 于是...

osc_a7a1prn6
59分钟前
13
0
FreeSql (一)入门

FreeSql是一个功能强大的 .NET ORM 功能库,支持 .NetFramework 4.0+、.NetCore 2.1+、Xamarin 等支持 NetStandard 所有运行平台。(QQ群:4336577) 模型 FreeSql 使用模型执行数据访问,模...

osc_smzoc82r
今天
18
0
TCP协议粘包问题详解

TCP协议粘包问题详解 前言   在本章节中,我们将探讨TCP协议基于流式传输的最大一个问题,即粘包问题。本章主要介绍TCP粘包的原理与其三种解决粘包的方案。并且还会介绍为什么UDP协议不会产...

osc_tjnx25e9
今天
29
0
Ubuntu16.04密码正确 进不去桌面系统(已测试恢复正常)

遇到过两次ubuntu输入密码正确,但是进不去系统,输入密码后,跳转到一下界面 之后又返回到登陆界面,一直这样循环输入密码。 Guest用户可以。 解决办法:   1。进入tty下 :ctrl+alt+F1(F...

osc_lfbryx1h
今天
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部