【hadoop】使用javaAPI对hdfs进行文件操作

前提:1、搭建好hadoop伪分布式环境;2、安装好eclipse;

注:修改 /etc/hosts 添加 “本机IP hadoop01” ,

那么代码中创建hdfs文件系统的时候的URI hdfs://hadoop01:9000 相当于  hdfs://hadoop服务器ip(例如:192.168.1.1XX):9000

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URI;
import java.net.URISyntaxException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;
import org.junit.Before;
import org.junit.Test;

public class demo1 {

	private FileSystem fileSystem = null;
	private String location = "";

	@Before
	public void init() throws URISyntaxException, IOException {
		// 初始化文件系统,连接到hdfs的namenode,new Configuration 代表默认配置
		fileSystem = FileSystem.get(new URI("hdfs://hadoop01:9000"),
				new Configuration());
		// 下载文件的路径(文件位于电脑的绝对路径)
		location = "/data/downloads";
	}

	@Test
	public void testUpload() throws IOException {
		// Path “/” 代表 hadoop hdfs 的根路径
		String fileName = "A.tar.gz";
		InputStream in = new FileInputStream(location + fileName);
		OutputStream out = fileSystem.create(new Path("/hadoop.tar.gz"));
		IOUtils.copyBytes(in, out, 4096, true);
	}

	@Test
	public void testDownload() throws URISyntaxException, IOException {
		InputStream in = fileSystem.open(new Path("/hadoop.tar.gz"));
		String fileName = "A.tar.gz";
		OutputStream out = new FileOutputStream(location + fileName);
		IOUtils.copyBytes(in, out, 4096, true);
	}

	@Test
	public void testDel() throws IllegalArgumentException, IOException {
		// true 递归删除,用于删除文件夹
		boolean flag = fileSystem.delete(new Path("/word.text"), false);
		System.out.println(flag);
	}

}
时间: 2024-08-24 09:37:32

【hadoop】使用javaAPI对hdfs进行文件操作的相关文章

利用JavaAPI访问HDFS的文件

body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI",Tahoma,Helvetica,Sans-Serif,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5;}

Hadoop第4周练习—HDFS读写文件操作

1    运行环境说明... 3 1.1     硬软件环境... 3 1.2     机器网络环境... 3 2    书面作业1:编译并运行<权威指南>中的例3.2. 3 2.1     书面作业1内容... 3 2.2     运行代码... 3 2.3     实现过程... 4 2.3.1   创建代码目录... 4 2.3.2   建立例子文件上传到hdfs中... 4 2.3.3   配置本地环境... 5 2.3.4   编写代码... 5 2.3.5   编译代码... 6

HDFS读写文件操作

1    运行环境说明 1.1     硬软件环境 1.2     机器网络环境 2    书面作业1:编译并运行<权威指南>中的例3.2 2.1     书面作业1内容 2.2     运行代码 2.3     实现过程 2.3.1   创建代码目录 2.3.2   建立例子文件上传到hdfs中 2.3.3   配置本地环境 2.3.4   编写代码 2.3.5   编译代码 2.3.6   使用编译代码读取文件 3    书面作业2:写入HDFS成为一个新文件 3.1    书面作业2内容

HDFS的文件操作

格式化HDFS 命令:[email protected]:Hadoop$bin/hadoop namenode -format 启动HDFS 命令:[email protected]:hadoop$bin/start-dfs.sh 列出HDFS上的文件 命令:[email protected]:hadoop$bin/hadoop dfs -ls 使用hadoop API public List<String[]>GetFileBolckHost(Configuration conf, Stri

HDFS的文件操作(Java代码实现)

对于hdfs的操作,可以使用hadoop fs 的命令,同时也可以使用java来进行操作,下面的一段小例子,就是简单介绍了java操作hdfs的文件等...... package com.hdfs.nefu; /** * @auther XD **/ import java.io.FileInputStream; import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; import

在eclipse上的hdfs的文件操作

参考:http://dblab.xmu.edu.cn/blog/hadoop-build-project-using-eclipse/?tdsourcetag=s_pcqq_aiomsg:  http://dblab.xmu.edu.cn/blog/290-2/ 一.安装eclipse 附:centos7制作eclipse启动器: 原文地址:https://www.cnblogs.com/zhaochenguang/p/9735217.html

读Hadoop3.2源码,深入了解java调用HDFS的常用操作和HDFS原理

本文将通过一个演示工程来快速上手java调用HDFS的常见操作.接下来以创建文件为例,通过阅读HDFS的源码,一步步展开HDFS相关原理.理论知识的说明. 说明:本文档基于最新版本Hadoop3.2.1 目录 一.java调用HDFS的常见操作 1.1.演示环境搭建 1.2.操作HDFS 1.3.java文件操作常用方法 二.深入了解HDFS写文件的流程和HDFS原理 2.1.Hadoop3.2.1 源码下载及介绍 2.2.文件系统:FileSystem 2.3.HDFS体系结构:namenod

Hadoop之HDFS文件操作

摘要:Hadoop之HDFS文件操作常有两种方式,命令行方式和JavaAPI方式.本文介绍如何利用这两种方式对HDFS文件进行操作. 关键词:HDFS文件    命令行     Java API HDFS是一种分布式文件系统,为MapReduce这种框架下的海量数据分布式处理而设计. Hadoop之HDFS文件操作常有两种方式,一种是命令行方式,即Hadoop提供了一套与Linux文件命令类似的命令行工具:另一种是JavaAPI,即利用Hadoop的Java库,采用编程的方式操作HDFS的文件.

Hadoop学习笔记0002——HDFS文件操作

  说明:Hadoop之HDFS文件操作常有两种方式,命令行方式和JavaAPI方式. 方式一:命令行方式 Hadoop文件操作命令形式为:hadoop fs -cmd <args> 说明:cmd是具体的文件操作命令,<args>是一组数目可变的参数. Hadoop最常用的文件操作命令,包括添加文件和目录.获取文件.删除文件等. 1 添加文件和目录 HDFS有一个默认工作目录/usr/$USER,其中$USER是你的登录用户名,作者的用户名是root.该目录不能自动创建,需要执行m