zoukankan      html  css  js  c++  java
  • HDFS API 测试用例

    增加依赖

            <!--hadoop-->
            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-hdfs</artifactId>
                <version>2.9.2</version>
            </dependency>
            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-common</artifactId>
                <version>2.9.2</version>
            </dependency>
            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-client</artifactId>
                <version>2.9.2</version>
            </dependency>

    编写测试用例

    import java.io.IOException;
    import java.net.URI;
    import java.net.URISyntaxException;
    import lombok.extern.slf4j.Slf4j;
    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.fs.FileSystem;
    import org.apache.hadoop.fs.Path;
    import org.junit.After;
    import org.junit.Before;
    import org.junit.Test;
    
    @Slf4j
    public class HdfsTest {
    
        private static final String HDFS_PATH = "hdfs://192.168.3.127:8020";
    
        /**
         * 解决无权限访问,设置远程hadoop的linux用户名称
         */
        private static final String USER = "root";
    
        FileSystem fileSystem = null;
        Configuration configuration = null;
    
        @Before
        public void setUp() throws URISyntaxException, IOException, InterruptedException {
    
            System.setProperty("hadoop.home.dir", "D:\app\hadoop-2.9.2");
    
            configuration = new Configuration();
            fileSystem = FileSystem.get(new URI(HDFS_PATH), configuration, USER);
        }
    
        @After
        public void tearDown(){
    
            fileSystem = null;
            configuration = null;
        }
    
        @Test
        public void mkdirTest() throws IOException {
    
            String home = System.getProperty("hadoop.home.dir");
            log.info("====>hadoop_home is {}", home);
            String dirPath = "/hdfsapi/test";
            fileSystem.mkdirs(new Path(dirPath));
        }
    
        @Test
        public void putTest() throws IOException {
    
            long start = System.currentTimeMillis();
    
            String filePath = "E:\ThunderDownload\hadoop-2.9.2.tar.gz";
    
            String digestPaht = "/";
            fileSystem.copyFromLocalFile(new Path(filePath), new Path(digestPaht));
            long end = System.currentTimeMillis();
            log.info("====>put file cost {}", end - start);
        }
    }
  • 相关阅读:
    Java多线程设计模式(二)
    Java多线程设计模式(一)
    JAVA并发设计模式学习笔记(二)—— Single Threaded Execution Pattern
    JAVA并发设计模式学习笔记(一)—— JAVA多线程编程
    hibernate缓存机制(转载)
    web.xml中的contextConfigLocation的作用
    转:MAVEN常用命令
    eclipse 中添加自定义 classpath 的方法,以及 javac 和 java 的一些使用细节
    spring mvc 基于注解 配置默认 handlermapping
    viewport Meta Tag
  • 原文地址:https://www.cnblogs.com/xxoome/p/11303931.html
Copyright © 2011-2022 走看看