HDFS的java接口實現上傳下載

簡單的hdfs上傳,下載實現

1.使用idea導入hdfs的基本包


方法一:複製粘貼法導jar包 項目工程下新建lib文件夾------>複製hadoop的jar包到文件夾下:

hadoop-2.7.3/share/hadoop/common下的包(包含lib下的包)

hadoop-2.7.3/share/hadoop/hdfs(包含lib下的包)

------>選中lib目錄下所有jar包,右鍵------>Add as library

方法二:**maven**搭建hadoop環境新建maven項目------>直接在pom.xml文件裏添加hadoop的依賴包hadoop-common, hadoop-client, hadoop-hdfs即可

例如:

  1. <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"  
  2.          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  
  3.     <modelVersion>4.0.0</modelVersion>  
  4.     <groupId>my.hadoopstudy</groupId>  
  5.     <artifactId>hadoopstudy</artifactId>  
  6.     <packaging>jar</packaging>  
  7.     <version>1.0-SNAPSHOT</version>  
  8.     <name>hadoopstudy</name>  
  9.     <url>http://maven.apache.org</url>  
  10.    
  11.     <dependencies>  
  12.         <dependency>  
  13.             <groupId>org.apache.hadoop</groupId>  
  14.             <artifactId>hadoop-common</artifactId>  
  15.             <version>2.7.3</version>  
  16.         </dependency>  
  17.         <dependency>  
  18.             <groupId>org.apache.hadoop</groupId>  
  19.             <artifactId>hadoop-hdfs</artifactId>  
  20.             <version>2.7.3</version>  
  21.         </dependency>  
  22.         <dependency>  
  23.             <groupId>org.apache.hadoop</groupId>  
  24.             <artifactId>hadoop-client</artifactId>  
  25.             <version>2.7.3</version>  
  26.         </dependency>  
  27.    
  28.         <dependency>  
  29.             <groupId>junit</groupId>  
  30.             <artifactId>junit</artifactId>  
  31.             <version>3.8.1</version>  
  32.             <scope>test</scope>  
  33.         </dependency>  
  34.     </dependencies>  
  35. </project>  

2.hdfs與本地文件傳輸
上傳、下載與刪除
public class hadoop1 {
    public static FileSystem fs;

    public  void init() throws Exception{
        //        創建FileSystem類
        fs = FileSystem.get(new URI("hdfs://192.168.19.128:9000"),new Configuration());
    }

    @Test
    public  void downLoad() throws Exception {
        init();
//        從hdfs下載文件到本地目錄
        fs.copyToLocalFile(new Path("/wordcount"),new Path("D:/hadoop_test/1"));
    }
    @Test
    public  void upLoad() throws Exception {
        init();
        //上傳本地文件到hdfs上
        fs.copyFromLocalFile(new Path("D:/hadoop_test/1"),new Path("/2"));
    }
    @Test
    public  void deletedfs() throws Exception {
        init();
        //刪除hdfs文件
        fs.delete(new Path("/2"),false);
    }
}

注意:可以通過50070端口查看hdfs界面

例如: http://192.168.19.128:50070/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章