91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

HDFS怎么利用JAVA進行操作

發布時間:2020-12-01 16:57:21 來源:億速云 閱讀:129 作者:Leah 欄目:編程語言

這篇文章給大家介紹HDFS怎么利用JAVA進行操作,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

Jar包引入,pom.xml:

<dependency> 
 <groupId>org.apache.hadoop</groupId> 
 <artifactId>hadoop-common</artifactId> 
 <version>2.8.0</version> 
</dependency> 
<dependency> 
 <groupId>org.apache.hadoop</groupId> 
 <artifactId>hadoop-hdfs</artifactId> 
 <version>2.8.0</version> 
</dependency>

將本地文件上傳到hdfs服務器:

/** 
 * 上傳文件到hdfs上 
 */ 
@Test 
public void upload() throws IOException { 
  Configuration conf = new Configuration(); 
  conf.set("fs.defaultFS","hdfs://hzq:9000"); 
  FileSystem fs = FileSystem.get(conf); 
  fs.copyFromLocalFile(new Path("/home/hzq/jdk1.8.tar.gz"),new Path("/demo")); 
}

解析:

在開發中我沒有引入“core-site.xml”配置文件,所以在本地調用時使用conf進行配置“conf.set("fs.defaultFS","hdfs://hzq:9000");“,下面雷同。

將hdfs上文件下載到本地:

/** 
 * 將hdfs上文件下載到本地 
 */ 
@Test 
public void download() throws IOException { 
  Configuration conf = new Configuration(); 
  conf.set("fs.defaultFS","hdfs://hzq:9000"); 
  FileSystem fs = FileSystem.newInstance(conf); 
  fs.copyToLocalFile(new Path("/java/jdk1.8.tar.gz"),new Path("/home/hzq/")); 
}

刪除hdfs上指定文件:

/** 
 * 刪除hdfs上的文件 
 * @throws IOException 
 */ 
@Test 
public void removeFile() throws IOException { 
  Configuration conf = new Configuration(); 
  conf.set("fs.defaultFS","hdfs://hzq:9000"); 
  FileSystem fs = FileSystem.newInstance(conf); 
  fs.delete(new Path("/demo/jdk1.8.tar.gz"),true); 
}

在hdfs上創建文件夾:

/** 
 * 在hdfs更目錄下面創建test1文件夾 
 * @throws IOException 
 */ 
@Test 
public void mkdir() throws IOException { 
  Configuration conf = new Configuration(); 
  conf.set("fs.defaultFS","hdfs://hzq:9000"); 
  FileSystem fs = FileSystem.newInstance(conf); 
  fs.mkdirs(new Path("/test1")); 
}

列出hdfs上所有的文件或文件夾:

@Test 
  public void listFiles() throws IOException { 
    Configuration conf = new Configuration(); 
    conf.set("fs.defaultFS","hdfs://hzq:9000"); 
    FileSystem fs = FileSystem.newInstance(conf); 
    // true 表示遞歸查找 false 不進行遞歸查找 
    RemoteIterator<LocatedFileStatus> iterator = fs.listFiles(new Path("/"), true); 
    while (iterator.hasNext()){ 
      LocatedFileStatus next = iterator.next(); 
      System.out.println(next.getPath()); 
    } 
    System.out.println("----------------------------------------------------------"); 
    FileStatus[] fileStatuses = fs.listStatus(new Path("/")); 
    for (int i = 0; i < fileStatuses.length; i++) { 
      FileStatus fileStatus = fileStatuses[i]; 
      System.out.println(fileStatus.getPath()); 
    } 
  }

運行結果:

HDFS怎么利用JAVA進行操作                                    

結果分析:

“listFiles“列出的是hdfs上所有文件的路徑,不包括文件夾。根據你的設置,支持遞歸查找。

  ”listStatus“列出的是所有的文件和文件夾,不支持遞歸查找。如許遞歸,需要自己實現。

關于HDFS怎么利用JAVA進行操作就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

泊头市| 新源县| 杭州市| 开江县| 新平| 嘉义市| 和硕县| 易门县| 岳普湖县| 延安市| 荆门市| 鄂尔多斯市| 库尔勒市| 湖北省| 寻甸| 南阳市| 金塔县| 桓台县| 板桥市| 九江市| 榕江县| 宁武县| 武义县| 荆州市| 汶川县| 博湖县| 兴隆县| 额济纳旗| 武冈市| 衡南县| 华容县| 蕲春县| 南川市| 唐河县| 桐城市| 安溪县| 鄂托克前旗| 曲周县| 昌都县| 临沭县| 玛沁县|