• 使用hadoop的类操作HDFS


    1. 创建文件夹

        private static final String PATH = "hdfs://hadoop:9000/";
        private static final String DIR = "/d2";
        
        public static void main(String[] args) throws Exception 
        {
            FileSystem fileSystem = FileSystem.get(new URI(PATH), new Configuration());
            fileSystem.mkdirs(new Path(DIR));
        }

     2.上传文件

            private static final String PATH = "hdfs://hadoop:9000/";
    	private static final String FILE = "/d2/hello";
    	
    	public static void main(String[] args) throws Exception 
    	{
    		FileSystem fileSystem = FileSystem.get(new URI(PATH), new Configuration());
    		FSDataOutputStream out = fileSystem.create(new Path(FILE));
    		FileInputStream in = new FileInputStream("D:/readme.txt");
    		IOUtils.copyBytes(in, out, 1024, true);
    	}
    

    3.下载文件

        private static final String PATH = "hdfs://hadoop:9000/";
        private static final String FILE = "/d2/hello";
        
        public static void main(String[] args) throws Exception 
        {
            FileSystem fileSystem = FileSystem.get(new URI(PATH), new Configuration());
            FSDataInputStream in = fileSystem.open(new Path(FILE));
            IOUtils.copyBytes(in, System.out, 1024,true);
        }

     4.浏览文件夹

    private static final String PATH = "hdfs://chaoren:9000/";
        
        public static void main(String[] args) throws Exception 
        {
            FileSystem fileSystem = FileSystem.get(new URI(PATH), new Configuration());
            FileStatus[] listStatus = fileSystem.listStatus(new Path("/"));
            
            for(FileStatus status : listStatus) 
            {
                String isDir = status.isDir()?"文件夹":"文件";
                String path = status.getPath().toString();
                long length = status.getLen(); 
                System.out.println(isDir + "	" + length + "	" + path);
            }
        }

    5.删除文件夹

            private static final String PATH = "hdfs://hadoop:9000/";
        private static final String DIR = "/d3";
        
        public static void main(String[] args) throws Exception 
        {
            FileSystem fileSystem = FileSystem.get(new URI(PATH), new Configuration());
            fileSystem.delete(new Path(DIR), true);
        }

     

  • 相关阅读:
    (视频)Erich Gamma 与 Visual Studio Online 的一点野史
    三维重建技术概述
    三维重建基础
    用户故事驱动的敏捷开发 – 2. 创建backlog
    用户故事驱动的敏捷开发 – 1. 规划篇
    TFS 10周年生日快乐 – TFS与布莱恩大叔的故事
    【DevOps敏捷开发动手实验】开源文档 v2015.2 stable 版发布
    看见的力量 – (II) 影响地图
    看见的力量 – (I) 解题的思维
    UDAD 用户故事驱动的敏捷开发 – 演讲实录
  • 原文地址:https://www.cnblogs.com/lzxl/p/4232607.html
Copyright © 2020-2023  润新知