如何使用JAVAAPI操作HDFS

这篇文章主要介绍如何使用JAVA API操作HDFS,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

我们提供的服务有:成都做网站、成都网站制作、成都外贸网站建设、微信公众号开发、网站优化、网站认证、双河ssl等。为1000多家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的双河网站制作公司

第一步:windows中的hadoop环境配置

  • windows操作系统需要配置一下hadoop环境

  • mac本质上是unix系统,不需要配置

 ==参考文档《Windows&Mac本地开发环境配置》==      

链接:https://pan.baidu.com/s/1tFJSlRxn18YELUUAUkXXQA 
提取码:g9ka 
 

第二步:创建java maven工程,并导入包:

 
        3.1.4
   

   
       
            org.apache.hadoop
            hadoop-client
            ${hadoop.version}
       

       
            org.apache.hadoop
            hadoop-common
            ${hadoop.version}
       

       
            org.apache.hadoop
            hadoop-hdfs
            ${hadoop.version}
       

       
            org.apache.hadoop
            hadoop-mapreduce-client-core
            ${hadoop.version}
       

       
       
            junit
            junit
            4.11
            test
       

       
            org.testng
            testng
            RELEASE
       

       
            log4j
            log4j
            1.2.17
       

   
   
       
           
                org.apache.maven.plugins
                maven-compiler-plugin
                3.0
               
                    1.8
                    1.8
                    UTF-8
                   
               

           

           
                org.apache.maven.plugins
                maven-shade-plugin
                2.4.3
               
                   
                        package
                       
                            shade
                       

                       
                            true
                       

                   

               

           

       

   

第三步:开发hdfs的javaAPI操作

 //简化版
    @Test
    public void mkDirOnHDFS() throws IOException {
        //配置项
        Configuration configuration = new Configuration();
        //设置要连接的hdfs集群
        configuration.set("fs.defaultFS", "hdfs://node01:8020");
        //获得文件系统
        FileSystem fileSystem = FileSystem.get(configuration);
        //调用方法创建目录;若目录已经存在,则创建失败,返回false
        boolean mkdirs = fileSystem.mkdirs(new Path("/kaikeba/dir1"));
        //释放资源
        fileSystem.close();
    }

    //指定目录所属用户
    @Test
    public void mkDirOnHDFS2() throws IOException, URISyntaxException, InterruptedException {
        //配置项
        Configuration configuration = new Configuration();
        //获得文件系统
        FileSystem fileSystem = FileSystem.get(new URI("hdfs://node01:8020"), configuration, "test");
        //调用方法创建目录
        boolean mkdirs = fileSystem.mkdirs(new Path("/kaikeba/dir2"));
        //释放资源
        fileSystem.close();
    }

    //创建目录时,指定目录权限
    @Test
    public void mkDirOnHDFS3() throws IOException {
        Configuration configuration = new Configuration();
        configuration.set("fs.defaultFS", "hdfs://node01:8020");

        FileSystem fileSystem = FileSystem.get(configuration);
        FsPermission fsPermission = new FsPermission(FsAction.ALL, FsAction.READ, FsAction.READ);
        boolean mkdirs = fileSystem.mkdirs(new Path("hdfs://node01:8020/kaikeba/dir3"), fsPermission);
        if (mkdirs) {
            System.out.println("目录创建成功");
        }

        fileSystem.close();
    }

注意:我们一定按照之前的环境搭建要求配置好了相应的hadoop集群,相关host,并且hadoop启动成功的情况下才能正常运行以上程序。    

以上是“如何使用JAVA API操作HDFS”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


文章名称:如何使用JAVAAPI操作HDFS
路径分享:http://pwwzsj.com/article/jcicid.html