对HDFS文件系统文件的读、写、删操作

    技术2022-05-19  17

    HDFS文件系统是Hadoop的分布式文件系统,HadoopAPI中提供了一些方法,以便在编程的时候向HDFS中写入和读出文件。

    下面通过一个例子来说明:

        public static void readAndWrite(){

           Configuration conf = new Configuration();//获得conf对象,以便能够获得配置文件的信息

           FileSystem fs;

               try {

                  fs = FileSystem.get(

                         URI.create(conf.get("fs.default.name")), conf); 

    //读取HDFS系统中的一个文件

               InputStream input =fs.open(new Path("/user/root/urlLib/ftpurl"));

    byte [] b= new byte[1024];

                input.read(b, 0,b.length);       

                String s =new String(b);

                system.out.println(s);

                 input.close();

    //将刚刚读出来的字符串再写入到HDFS系统中

    OutputStream out = fs.create(new Path(/user/root/urlLib/ftpurl2), true);

               out.write(s.getBytes());

               out.flush();

               out.close();

    //user/root/urlLib/ftpurl这个文件删除

    fs.delete(new Path("/user/root/urlLib/ftpurl") , true);

              

               } catch (IOException e) {

                  // TODO Auto-generated catch block

                  e.printStackTrace();

               }

    }

    这个过程和普通的文件读写类似,唯一不同的就是通过HadoopFileSystem来获取读写流,以便在读写的时候能够将文件写入到HDFS系统中。


    最新回复(0)