java 实现hadoop的hdfs文件的上传下载删除创建

来源:互联网 发布:宋神宗资治通鉴序 知乎 编辑:程序博客网 时间:2024/05/01 06:01

java 实现 hdfs文件的上传下载删除创建

对于ubuntu14.04 下 Hadoop 的安装和eclipse配置hadoop的文档参考:
安装hadoop http://www.powerxing.com/install-hadoop/
安装eclipse配置hadoop http://www.powerxing.com/hadoop-build-project-using-eclipse/

package org.apache.hadoop.examples;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.net.URI;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;/** * hdfs在java 的方法(创建文件夹 上传文件 下载文件 删除文件) * @author hadoop * */public class HdfsUtil {    public static final String HDFS_PATH = "hdfs://localhost:9000/user/hadoop/hello";    public static final String DIR_PATH = "hdfs://localhost:9000/user/hadoop/hello";    public static final String FILE_PATH = "hdfs://localhost:9000/user/hadoop/hello";    public static void main(String[] args) throws Exception {        final FileSystem fileSystem = FileSystem.get(new URI(HDFS_PATH),                new Configuration());        // 创建文件夹//       makeDirectory(fileSystem);        // 上传文件//       uploadData(fileSystem);        // 下载文件//       downloadData(fileSystem);        // 删除文件        deleteFile(fileSystem);    }    private static void deleteFile(final FileSystem fileSystem)            throws IOException {        // 删除文件-true/false(文件夹-true)        fileSystem.delete(new Path(FILE_PATH), true);    }    private static void downloadData(final FileSystem fileSystem)            throws IOException {        final FSDataInputStream in = fileSystem.open(new Path(FILE_PATH));        IOUtils.copyBytes(in, System.out, 1024, true);    }    private static void makeDirectory(final FileSystem fileSystem)            throws IOException {        // 创建文件夹        fileSystem.mkdirs(new Path(DIR_PATH));    }    private static void uploadData(final FileSystem fileSystem)            throws IOException, FileNotFoundException {        // 上传文件        final FSDataOutputStream out = fileSystem.create(new Path(FILE_PATH)); //上传后的文件命令名        FileInputStream in = new FileInputStream("./hello.txt"); //上传的文件        IOUtils.copyBytes(in, out, 1024, true);    }}

谢谢。

0 0
原创粉丝点击