JAVA操作HDFS

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

public class App2 {
public static void main(String[] args) throws IOException, URISyntaxException {

final FileSystem fileSystem = FileSystem.get(new URI("hdfs://hadoop:9000"), new Configuration());

makdir(fileSystem);

//上传
putdata(fileSystem);

download(fileSystem);

listFile(fileSystem);

//删除
delete(fileSystem);

}

public static void listFile(final FileSystem fileSystem) throws IOException {

System.out.println("-------file list start-----------");
FileStatus[] listStatus = fileSystem.listStatus(new Path("/"));
for (FileStatus fileStatus : listStatus) {

System.out.println(fileStatus.getPath().toString());

}

System.out.println("-------file list end-----------");
}

public static void delete(final FileSystem fileSystem) throws IOException {
boolean delete = fileSystem.delete(new Path("/dir2"),true);

if (delete) {
System.out.println("-----deletet ok---------!");
}

}

public static void download(final FileSystem fileSystem) throws IOException {

FSDataInputStream in = fileSystem.open(new Path("/dir2/readme"));
IOUtils.copyBytes(in, System.out, 1024, false);
in.close();

System.out.println("------------getdata ok-------------------");
}

public static void putdata(final FileSystem fileSystem) throws IOException,
FileNotFoundException {

FSDataOutputStream out=fileSystem.create(new Path("/dir2/readme"));
FileInputStream in=new FileInputStream("/home/hadoop/hello");
IOUtils.copyBytes(in, out, 1024, true);
System.out.println("update ok");

}

public static void makdir(final FileSystem fileSystem) throws IOException {
boolean successful=fileSystem.mkdirs(new Path("/dir2"));

if(successful){

System.out.println("mkdir ok");
}
}

}

时间: 2025-01-16 16:18:01

JAVA操作HDFS的相关文章

Java操作HDFS开发环境搭建以及HDFS的读写流程

Java操作HDFS开发环境搭建 在之前我们已经介绍了如何在Linux上进行HDFS伪分布式环境的搭建,也介绍了hdfs中一些常用的命令.但是要如何在代码层面进行操作呢?这是本节将要介绍的内容: 1.首先使用IDEA创建一个maven工程: maven默认是不支持cdh的仓库的,需要在pom.xml中配置cdh的仓库,如下: <repositories> <repository> <id>cloudera</id> <url>https://re

hadoop集群配置和在windows系统上运用java操作hdfs

安装 配置 概念 hadoop常用shell命令 使用java操作hadoop 本文介绍hadoop集群配置和在windows系统上运用java操作hdfs 安装 http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-3.1.1/ sudo apt-get install ssh sudo apt-get install rsync mkdir /usr/local/hadoop tar -zxvf hadoop-3.1.1.tar.gz -C

java操作hdfs实例

环境:window7+eclipse+vmware虚拟机+搭建好的hadoop环境(master.slave01.slave02) 内容:主要是在windows环境下,利用eclipse如何来操作hdfs,如上传文件.删除文件.创建文件夹.查看节点信息等. eclipse开发环境的搭建,请参考:http://www.cnblogs.com/bookwed/p/4816521.html 1.新建maven项目,(主要是因为要引入一些jar包,除非是特别清楚要引入哪些jar包可以不用建maven项目

java操作hdfs到数据库或者缓存

使用hadoop工具将数据分析出来以后,需要做入库处理或者存到缓存中,不然就没了意义 一下是使用javaAPI操作hdfs存入缓存的代码: <span style="font-family:Microsoft YaHei;font-size:14px;">public class InterestToRedisJob { FileSystem hdfs = null; public InterestToRedisJob(){ init(); } private void i

Java操作HDFS代码样例

代码在GitHub上. 包括如下几种样例代码: 新建文件夹 删除文件/文件夹 重命名文件/文件夹 查看指定路径下的所有文件 新建文件 读文件 写文件 下载文件至本地 上传本地文件 https://github.com/quchunhui/tod-train-1.0/tree/master/hadoop/src/main/java/hdfs 原文地址:https://www.cnblogs.com/quchunhui/p/9112510.html

hadoop 学习(四)之java操作hdfs

1.导入hadoop jar包 将hadoop/share/common/目录.hadoop/share/common/lib/目录.hadoop/hdfs/目录.下的jar包加入eclipse. 2.开始编码调用 static FileSystem fs=null; public static void main(String[] args) throws Exception { // TODO Auto-generated method stub init(); testUpload();

使用Java API操作hdfs

如题 我就是一个标题党  就是使用JavaApi操作HDFS,使用的是MAVEN,操作的环境是Linux 首先要配置好Maven环境,我使用的是已经有的仓库,如果你下载的jar包 速度慢,可以改变Maven 下载jar包的镜像站改为 阿里云. 贴一下  pom.xml 使用到的jar包 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifa

读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

Java操作Sqoop对象

Windows下使用Eclipse工具操作Sqoop1.4.6对象 Sqoop是用来在关系型数据库与Hadoop之间进行数据的导入导出,Windows下使用Eclipse工具操作时,需要先搭建好Hadoop的开发环境 参照Java操作HDFS对象的pom.xml配置,添加配置 <dependency> <groupId>org.apache.sqoop</groupId> <artifactId>sqoop</artifactId> <ve