hdfs 操作 入门api

本文详细介绍如何使用Java API操作Hadoop HDFS,包括获取文件系统、上传与下载文件、创建目录、删除文件、重命名等核心功能。

获取分布式文件系统

    // 获取文件系统
    @Test
    public void getFileSystem() throws Exception{
        
        Configuration configuration = new Configuration();
        FileSystem fs = FileSystem.get(new URI("hdfs://192.168.59.11:9000"), 
                configuration, "ljs");
        System.out.println(fs);
        fs.close();
    }

URI 对象是指向hadoop集群中的namenode 节点, 端口也是配置的  , user = “”ljs“”  用户

 

上传文件到hdfs文件系统

    //上传文件系统
    //@Test
    public void putFileTohdfs() throws Exception{
        
        Configuration conf = new Configuration();
        FileSystem fs = FileSystem.get(new URI("hdfs://192.168.59.11:9000"),
                conf, "ljs");
        fs.copyFromLocalFile(true, new Path("d:/text"), new Path("/user/ljs/"));
        fs.close();
        
    }
    

 

 

从hdfs文件系统下载文件

public void getFileHDFS() throws Exception{
        
        Configuration conf = new Configuration();
        FileSystem fs = FileSystem.get(new URI("hdfs://192.168.59.11:9000"), conf, "ljs");
        
        fs.copyToLocalFile(false,new Path("/user/ljs/w.txt"), new Path("d:/Demo/w.txt"),true);
    }

 

 

给hdfs文件系统创建目录s

@Test
    public void mkdirAtHDFs() throws Exception{
        Configuration conf = new Configuration();
        FileSystem fs = FileSystem.get(new URI("hdfs://192.168.59.11:9000"), conf, "ljs");
        fs.mkdirs(new Path("user/ljs/output"));
        fs.close();
    }

 

删除某文件

    @Test
    public void deleteAtHDFS() throws Exception{
        //获取文件系统
        Configuration conf = new Configuration();
        FileSystem fs = FileSystem.get(new URI("hdfs://192.168.59.11:9000"), conf, "ljs");

        //执行删除
        fs.delete(new Path("/user/ljs/text"),true);
        
        fs.close();
        
    }

 

给某个文件或目录改名字

@Test
    public void renameAtHDFS() throws Exception{
        Configuration conf = new Configuration();
        FileSystem fs = FileSystem.get(new URI("hdfs://192.168.59.11:9000"), conf, "ljs");
        fs.rename(new Path("/user/ljs/user"), new Path("/user/ljs/SB"));
        
        fs.close();
    }

 

转载于:https://www.cnblogs.com/lijins/p/10067749.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值