zoukankan      html  css  js  c++  java
  • Hadoop HDFS 整合 上传 下载 删除

     

     新建一个Java项目,导入jar,新建一个测试类,编写代码实现文件操作功能:

    package com.bw.test;

     

    import java.io.FileInputStream;

    import java.io.FileOutputStream;

     

    import java.io.InputStream;

    import java.io.OutputStream;

    import java.net.URI;

     

    import org.apache.commons.compress.utils.IOUtils;

    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.junit.Before;

    import org.junit.Test;

    /**

     *

     * @类描述 :

     * @作者 :

     * @日期 : 2016-7-8 下午5:10:22

     *

     */

    public class test3 {

     

        //hdfs操作入口

        FileSystem fileSystem = null;

       

        @Before

        public void setUp() throws Exception {

            URI uri = new URI("hdfs://192.192.192.3:9000");

            Configuration configuration = new Configuration();

            fileSystem = FileSystem.get(uri, configuration,"root");

        }

        @Test

        public void list() throws Exception {

            //递归方式取得指定目录下的文件信息

            FileStatus[] liFileStatus = fileSystem.listStatus(new Path("/"));

            //输出取得的文件权限和文件名称

            for (FileStatus fileStatus : liFileStatus) {

                System.out.println(fileStatus.getPermission()+" "+fileStatus.getPath());

            }

        }

        //上传

        @Test

        public void put() throws Exception {

            //是否覆盖同名文件(前提是也在同一目录下)标志位

            boolean overwrite = true;

            //DFS文件输出流

            FSDataOutputStream outputStream = fileSystem.create(new Path("/hbase-1.1.2-bin.tar.gz"),overwrite);

            //本地输入流

            InputStream inputStream = new FileInputStream("C:\\Users\\YAN\\Desktop\\开发指南\\Hadoop\\05. HBase使用指南\\安装程序\\hbase-1.1.2-bin.tar.gz");

            //使用工具类上传

            IOUtils.copy(inputStream, outputStream,4096);

        }

        //下载

        @Test

        public void get() throws Exception {

            //DFS文件输入流

            FSDataInputStream inputStreamOption = fileSystem.open(new Path("/hbase-1.1.2-bin.tar.gz"));

            //本地文件输出流

            OutputStream outputStream = new FileOutputStream("E:\\hbase-1.1.2-bin.tar.gz");

            //使用工具类下载

            IOUtils.copy(inputStreamOption, outputStream,4096);

        }

        //删除

        @Test

        public void del() throws Exception {

            //是否删除

            boolean b = true;

            //DFS文输入流

            fileSystem.delete(new Path("/input"),b);

        }

     

    }

  • 相关阅读:
    《UIP在NIOS上的移植》
    切勿使用:指向局部变量的指针作为函数的返回指针!
    Oeacle创建表空间
    Oracle SQL 语言分类
    线程整理
    输入输出
    异常处理
    哈希算法
    java链表
    课上重点整理
  • 原文地址:https://www.cnblogs.com/guoqingyan/p/5654642.html
Copyright © 2011-2022 走看看