信息发布→ 登录 注册 退出

java操作hdfs的方法示例代码

发布时间:2026-01-11

点击量:
目录
  • 在本地配置环境变量
  • 导入maven配置文件
  • 总结 

在本地配置环境变量

  • 在官网下载一个与服务器上的hadoop同样的版本包(或许可以不是同一个版本)
  • 配置环境变量

导入maven配置文件

	<dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-client</artifactId>
            <version>3.1.3</version>
        </dependency>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.30</version>
        </dependency>

连接hdfs

public class JavaToHDFS {
    //定义类变量:文件系统,用来连接hdfs
    FileSystem fs=null;

    //预处理,连接hdfs
    public void init() throws Exception{
        Configuration conf = new Configuration();
        fs = FileSystem.get(new URI("本机ip地址"),conf,"root");
    }
}

hdfs代码

HDFSDemo.java
package cn.itcast.hadoop.hdfs;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
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 HDFSDemo {

	FileSystem fs = null;
	
	@Before
	public void init() throws Exception{
		fs = FileSystem.get(new URI("hdfs://itcast01:9000"), new Configuration(), "root");
	}
	
	@Test
	public void testUpload() throws Exception{
		InputStream in = new FileInputStream("/root/install.log");
		OutputStream out = fs.create(new Path("/log123.log"));
		IOUtils.copyBytes(in, out, 1024, true);
	}
	
	@Test
	public void testMkdir() throws IllegalArgumentException, IOException{
		boolean  flag = fs.mkdirs(new Path("/a/aa"));
		System.out.println(flag);
	}
	
	@Test
	public void testDel() throws IllegalArgumentException, IOException{
		boolean flag = fs.delete(new Path("/a"), true);
		System.out.println(flag);
	}
	
	public static void main(String[] args) throws Exception {
		FileSystem fs = FileSystem.get(new URI("hdfs://itcast01:9000"), new Configuration());
		InputStream in = fs.open(new Path("/jdk"));
		OutputStream out = new FileOutputStream("/home/jdk1.7.tar.gz");
		IOUtils.copyBytes(in, out, 4096, true);
		
	}
}

总结 

在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!