Hadoop入門學習筆記---part4

  緊接着《Hadoop入門學習筆記---part3》中的繼續瞭解如何用java在程序中操做HDFS。html

      衆所周知,對文件的操做無非是建立,查看,下載,刪除。下面咱們就開始應用java程序進行操做,前提是按照《Hadoop入門學習筆記---part2》中的已經在虛擬機中搭建好了Hadoop僞分佈環境;而且肯定如今linux操做系統中hadoop的幾個進程已經徹底啓動了。java

     好了,廢話很少說!實際的例子走起。linux

   在myeclipse中新建一個java工程:瀏覽器

    在項目工程中新建一個lib包用於存放項目須要的相關jar包,關於build path我就很少說了。相關jar包以下:app

    

  1. 建立文件:eclipse

public static final String HDFS_PATH = "hdfs://hadoop:9000/hello";   //建立文件的url
    public static void main(String[] args) {
        try {
            URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());
            final URL url = new URL(HDFS_PATH);
            final InputStream in = url.openStream();
            IOUtils.copyBytes(in, System.out, 1024, true);
        } catch (Exception e) {
            e.printStackTrace();
        }

 

       在瀏覽器中查看效果:輸入http://hadoop:50070/ 而後點擊Browse the filesystem 就能夠查看到在HDFS根目錄下剛剛新建的那個文件了。oop

    

  2. 上傳文件:首先應該明白的就是上傳首先須要在HDFS中建立,而後以流的形式寫入。學習

 public static final String HDFS_PATH = "hdfs://hadoop:9000/";
 final FileSystem fileSystem = FileSystem.get(new URI(HDFS_PATH),new Configuration());
  // 上傳文件
 final FSDataOutputStream out = fileSystem.create(new Path(FILE_PATH));
 final FileInputStream in = new FileInputStream("H:/redTestFileForHadoop");
 IOUtils.copyBytes(in, out, 1024, true);

 

      效果以下:直接在瀏覽器中打開。網站

  (上傳1)ui

---------------------------------------分割線---------------------------------------------------------

    (上傳2)

  3. 下載文件,直接輸出到控制檯,也能夠單獨將這個寫入到一個文件裏面,這裏就不介紹了,代碼以下:

public static final String HDFS_PATH = "hdfs://hadoop:9000/";
 final FileSystem fileSystem = FileSystem.get(new URI(HDFS_PATH),new Configuration());
 // 下載文件
 final FSDataInputStream in = fileSystem.open(new Path(FILE_PATH));
 IOUtils.copyBytes(in, System.out,1024, true);

      效果圖以下:

     

  4. 刪除文件:   

 public static final String HDFS_PATH = "hdfs://hadoop:9000/";
 final FileSystem fileSystem = FileSystem.get(new URI(HDFS_PATH),new Configuration());
 fileSystem.delete(new Path(FILE_PATH), true);

 

     效果就不用說了,直接在瀏覽器中看不到這個文件了。

     不少時候看起來很複雜的東西實際上是本身內心面的承認,實際上也沒有想象中的那麼難!好好體驗一下吧。瞬間感受這個和咱們日常用到的雲網盤有幾分同樣了。哈哈,不妨作一個屬於本身的雲網盤。絕對能夠的!

 

做者:itRed  郵箱:it_red@sina.com 博客:http://www.cnblogs.com/itred 我的網站:http://wangxingyu.jd-app.com ***版權聲明:本文版權歸做者和博客園共有,歡迎轉載,但請在文章顯眼位置標明文章出處。未經本人書面贊成,將其做爲他用,本人保留追究責任的全部權利。
相關文章
相關標籤/搜索