zoukankan      html  css  js  c++  java
  • Hadoop--创建文件系统对象

    对于创建文件系统对象有三个基本步骤:

    1.获取客户端对象。

    2.调用相关函数实现功能。

    3.关闭。

    第一阶段的代码为:

    package Test;
    
    import org.apache.hadoop.fs.FileSystem;
    import org.apache.hadoop.fs.Path;
    import org.junit.Test;
    import org.apache.hadoop.conf.Configuration;
    
    import java.io.IOException;
    import java.net.URI;
    
    /**
     * 客户端开发的性质:
     * 1。获取客户端对象
     * 2.调用相关函数实现功能
     * 3.关闭
     */
    public class HDFStext {
        /**
         *创建文件系统第一版
         */
        @Test
        public void hdfstest() throws IOException, InterruptedException {
    //1. 创建文件系统对象
            URI uri = URI.create("hdfs://Hadoop200:8020");
            Configuration config = new Configuration();
            String user = "yang";
            FileSystem fs = FileSystem.get(uri,config,user);
            System.out.println("fs = " +fs );
    
            //2.创建目录
            boolean b = fs.mkdirs(new Path("/testhdfs"));
            fs.close();
        }
    }

    由于这样创建文件系统对象的话,会造成每次编写代码都得重新创建一个对象,造成代码冗余,因此需要进行优化,优化后代码如下:

    package Test;
    
    import org.apache.hadoop.fs.FileSystem;
    import org.junit.After;
    import org.junit.Before;
    import org.apache.hadoop.conf.Configuration;
    
    import java.io.IOException;
    import java.net.URI;
    import java.net.URISyntaxException;
    
    /**
     * 客户端开发的性质:
     * 1。获取客户端对象
     * 2.调用相关函数实现功能
     * 3.关闭
     */
    public class HDFStext {
        /**
         * 优化代码
         */
       private Configuration conf;
       private String user;
       private URI uri;
       private FileSystem fs;
    
        /**
         *在执行所有Test前之前此函数
         */
        @Before
        public void init() throws URISyntaxException, IOException, InterruptedException {
            user = "yang";
            uri = new URI("hdfs://Hadoop200:8020");
            conf = new Configuration();
            fs = FileSystem.get(uri,conf,user);
        }
        /**
         *在执行所有Test前之前此函数
         */
        @After
         public void end(){
            fs.close();
         }
    }
  • 相关阅读:
    JAVA 桥接模式
    字模生成/提取原理
    const修饰指针
    BMP格式分析
    [转载]在.Net中使用SMTP发送邮件
    [转载]MD5加密解密
    四十二。java
    四十四。java
    四十一。复习第十二章内容
    三十六。文件流
  • 原文地址:https://www.cnblogs.com/yangxionghao/p/13822701.html
Copyright © 2011-2022 走看看