zoukankan      html  css  js  c++  java
  • 使用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);
        }

     

  • 相关阅读:
    Android源码分析(二)-----如何编译修改后的framework资源文件
    Android源码分析(一)-----如何快速掌握Android编译文件
    AI2(App Inventor 2)离线版服务器网络版
    AI2(App Inventor 2)离线版服务器单机版
    AI2(App Inventor 2)离线版服务器(2019.04.28更新)
    解释器模式
    迭代器模式
    备忘录模式
    访问者模式
    命令模式
  • 原文地址:https://www.cnblogs.com/lzxl/p/4232607.html
Copyright © 2011-2022 走看看