HDFS 的 API 操作

		// 获取文件系统
        Configuration configuration = new Configuration();
        FileSystem fs = FileSystem.get(new URI("hdfs://hadoop:8020"), configuration,"root");

        // 创建目录
        if (!fs.exists(new Path("/photo"))){
            fs.mkdirs(new Path("/photo"));
        }

        //上传文件
        fs.copyFromLocalFile(new Path("G:/hdfs/default.png"), new Path("/photo"));

        //下载文件
        fs.copyToLocalFile(new Path("/photo/default.png"), new Path("G:/hdfs/default2.png"));

        //重命名文件
        fs.rename(new Path("/photo/default.png"), new Path("/photo/123.png"));

        //查看文件信息
        RemoteIterator<LocatedFileStatus> listFiles = fs.listFiles(new Path("/photo"), true);
        while (listFiles.hasNext()) {
            LocatedFileStatus fileStatus = listFiles.next();

            System.out.println("========" + fileStatus.getPath() + "=========");
            System.out.println(fileStatus.getPermission());
            System.out.println(fileStatus.getOwner());
            System.out.println(fileStatus.getGroup());
            System.out.println(fileStatus.getLen());
            System.out.println(fileStatus.getModificationTime());
            System.out.println(fileStatus.getReplication());
            System.out.println(fileStatus.getBlockSize());
            System.out.println(fileStatus.getPath().getName());

            // 获取块信息
            BlockLocation[] blockLocations = fileStatus.getBlockLocations();
            System.out.println(Arrays.toString(blockLocations));
        }

        //删除文件
        fs.delete(new Path("/photo/123.png"), true);

        // 关闭资源
        fs.close();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值